【发布时间】:2019-10-02 15:30:11
【问题描述】:
我很惊讶在这个网站上找不到可以回答我的问题。
我想为一天中的每个小时创建 24 个虚拟变量(如果时间是一天中的那个小时,则值为 1,否则为 0)。一小部分数据如下所示:
df <- as.POSIXct(c("08-01-2018 19:46", "08-01-2018 19:50", "08-01-
2018 20:46", "09-01-2018 21:17"), format = "%d-%m-%Y %H:%M")
[1] "2018-01-08 19:46:00 CET" "2018-01-08 19:50:00 CET" "2018-01-08
20:46:00 CET" "2018-01-09 21:17:00 CET"
我希望输出是这样的:
19 20 21
1: 1 0 0
2: 1 0 0
3: 0 1 0
4: 0 0 1
这个问题我已经看过了:Creating a dummy variable for certain hours of the day
我对我的问题的答案唯一的问题是我必须为每个案例编写 24 个 ifelse 语句。
我想知道是否有更优雅的方式来获得此输出,而无需编写 24 条 ifelse 语句。
如果此问题重复,请告诉我!
提前致谢,
RC
【问题讨论】:
标签: r