如何在日期中使用ifelse

问题描述

我在R中的日期格式为01/01/2000

我想创建一列,其类别将我的受试者分类为出生日期const DevList: React.FC = () => { const [developers,setDevelopers] = useState<DevelopersData[]>([]); const getDevelopers = useCallback(async () => { await api.get("/developers").then((response) => { setDevelopers(response.data); }); },[setDevelopers]); useEffect(() => { getDevelopers(); },[getDevelopers]); const onAddDeveloper = useCallback( async (newDeveloper) => { const newDevelopers = developers.concat([newDeveloper]); setDevelopers(newDevelopers); try { await postNewDeveloperToAPI(newDeveloper); // Todo: Implement me } catch (e) { alert("Oops,Failed posting developer information..."); } getDevelopers(); },[developers],); return ( <> <AddDeveloperForm onAddDeveloper={onAddDeveloper} /> <DeveloperList developers={developers} /> </> ); }; 之前或01/02/2001 ==1之后。可以用02/02/2001 ==2完成吗?

您将如何表达?

谢谢

解决方法

选项1:ifelse()

ifelse(as.Date(date,"%d/%m/%Y") < as.Date("2001-02-02"),1,2)
# [1] 1 2 2 2

选项2

2 - (as.Date(date,"%d/%m/%Y") < as.Date("2001-02-02"))
# [1] 1 2 2 2

选项3:findInterval()

findInterval(as.Date(date,"%d/%m/%Y"),as.Date("2001-02-02")) + 1
# [1] 1 2 2 2

数据

date <- c("01/02/2001","02/02/2001","03/02/2001","04/02/2001")
,

这取决于格式,您必须添加函数“ as.Date()

例如:

日期

adates = as.Date(日期,“%d-%m-%Y”)

ifelse(adates>预定日期(“ 01-02-2001”,“%d-%m-%Y”),1,0)