此表名为'temp'
No. of times Clear Included Percentage
2 1 1 0.50
4 0 1 0.60
0 0 0 0.20
例如,如果我有这个数据集,我想在'No.下转换0以上的所有数字。时间'列到1并保持0原样。
总的来说,我想要一个看起来像这样的数据集
No. of times Clear Included Percentage
1 1 1 0.50
1 0 1 0.60
0 0 0 0.20
我该怎么做?
答案 0 :(得分:5)
temp[ ,"No. of times"] <- sign(temp[ ,"No. of times"])
答案 1 :(得分:3)
使用ifelse
的好地方
temp$`No. of times` <- ifelse(temp$`No. of times` > 0, 1, 0)
另外,您可能想要使用
names(temp) <- make.names(names(temp))
答案 2 :(得分:2)
一招,但
temp[ , "No. of times"] <- (temp[ , "No. of times"] > 0) + 0
也会执行您想要的操作。我说一个技巧,因为括号中的部分(temp[ , "No. of times"] > 0)
评估为逻辑,然后通过添加0
强制转换为1
或0
。