特定变量的虚拟编码
dummy coding for certain variable
我有一个看起来像这样的数据框
df <- data.frame(task = c(1, 2, 3, 4, 5, NA),
day = c(10, 6, 7, 9, 9, 10),
deadline = c(7, 12, 9, 7, 9, NA),
completion = c(1, 1, 1, 1, 0, NA))
现在我想创建一个虚拟变量来显示任务在完成当天是否逾期,因此我创建了这段代码,但不知何故它没有给我正确的结果。
df$overduetask <- ifelse(df$completion == 1 & df$day > df$deadline, 1,0)
所以我的想法是,如果任务已完成 (completion = 1) 并且日期大于截止日期,则任务逾期。
我为过期变量获得的输出仅为 0,这是我手动检查的,但不可能是真的。
对我有用:
df$overduetask <- ifelse(df$completion == 1 & df$day >df$deadline, 1,0)
你是不是把 df$ 拼错了 cllw$ 了?
嗨,我说过吗,它对我有用:
eduardo> str(df)
'data.frame': 6 obs. of 5 variables:
$ task : num 1 2 3 4 5 NA
$ day : num 10 6 7 9 9 10
$ deadline : num 7 12 9 7 9 NA
$ completion : num 1 1 1 1 0 NA
$ overduetask: num 1 0 0 1 0 NA
我怀疑你的问题是什么......我在 R 中发生过很多次:当你检查 completion == 1 时,测试可能因为舍入问题而失败,例如,如果你将 completion 定义为 LONG或浮动。你可以试试:
df$overduetask <- ifelse(as.integer(df$completion) == 1 & df$day > df$deadline, 1,0)
希望对你有帮助
我有一个看起来像这样的数据框
df <- data.frame(task = c(1, 2, 3, 4, 5, NA),
day = c(10, 6, 7, 9, 9, 10),
deadline = c(7, 12, 9, 7, 9, NA),
completion = c(1, 1, 1, 1, 0, NA))
现在我想创建一个虚拟变量来显示任务在完成当天是否逾期,因此我创建了这段代码,但不知何故它没有给我正确的结果。
df$overduetask <- ifelse(df$completion == 1 & df$day > df$deadline, 1,0)
所以我的想法是,如果任务已完成 (completion = 1) 并且日期大于截止日期,则任务逾期。 我为过期变量获得的输出仅为 0,这是我手动检查的,但不可能是真的。
对我有用:
df$overduetask <- ifelse(df$completion == 1 & df$day >df$deadline, 1,0)
你是不是把 df$ 拼错了 cllw$ 了?
嗨,我说过吗,它对我有用:
eduardo> str(df)
'data.frame': 6 obs. of 5 variables:
$ task : num 1 2 3 4 5 NA
$ day : num 10 6 7 9 9 10
$ deadline : num 7 12 9 7 9 NA
$ completion : num 1 1 1 1 0 NA
$ overduetask: num 1 0 0 1 0 NA
我怀疑你的问题是什么......我在 R 中发生过很多次:当你检查 completion == 1 时,测试可能因为舍入问题而失败,例如,如果你将 completion 定义为 LONG或浮动。你可以试试:
df$overduetask <- ifelse(as.integer(df$completion) == 1 & df$day > df$deadline, 1,0)
希望对你有帮助