R:从数据帧创建二进制数据

时间:2014-01-08 10:27:06

标签: r binary-data

我需要一些建议来解决以下问题:

我有一个包含两列的数据框,一列包含日期,另一列包含事件的频率。 现在我想在这个数据帧中添加第三列,它应该包含一些二进制数据:1表示频率为100和更高的天数,0表示较低的数据。

有谁知道如何以聪明的方式做到这一点(我害怕手工编写;-)?谢谢你的回答!

2 个答案:

答案 0 :(得分:1)

data$newcol = as.integer(data$freq >= 100)

替代地

data$newcol = ifelse(data$freq >= 100, 1, 0)

替代地

data$newcal = 0
data$newcol[data$freq >= 100] = 1

答案 1 :(得分:0)

df$freq.gt.100 = as.integer(df$freq >= 100)

括号内的位评估为TRUEFALSE,可通过as.integer转换为1或0。

没有什么可以“害怕”:您可以自己测试表达式的右侧以检查它是否有效,并且只有当您对此感到满意时才将其作为新列添加到原始数据中

编辑:我没有看到上面的答案,因为我创建了这个答案并接到了电话!