我有一个数据集,看起来像
data<-c(0,1,2,3,4,2,3,1,4,3,2,4,0,1,2,0,2,1,2,0,4)
frame<-as.data.frame(data)
我现在想在此数据框中创建一个新变量。如果“数据”列报告的数字为 2 或更多,我希望它在该行中具有“2”,如果有 1 或 0(例如前两个观察值),我希望新变量具有“1”表示该观察结果。
我正在尝试使用以下代码来执行此操作:
frame$twohouses<- if (any(frame$data>=2)) {frame$twohouses=2} else {frame$twohouses=1}
但是,如果我运行这 3 行脚本,“twohouses”列中的每个观察值都会用 2 进行编码。但是,其中一些观察值应该用 1 进行编码。
所以我的问题是:我的 if else 行或脚本做错了什么?或者有其他方法可以做到这一点。
我的问题与此类似:在 R 中对因子使用 ifelse
但没有人回答这个问题。