我有一个名为cc
的数据框。我想应用if条件将值大于50的值更改为50且零以下仅在选择列中为零(即仅限于第3列和第4列)。我尝试过这样做,但无法得到我需要的东西。
CC
s.no A B C
1 Inf Inf 999.9
2 -0.43 30 23
3 34 -2 233
mycode
if (cc[,3:4]>50){
cc[,3:4]<-50
}
if (cc[,3:4]<0){
cc[,3:4]<-0
}
我想要的结果:
s.no A B C
1 Inf 50 50
2 -0.43 30 23
3 34 0 50
答案 0 :(得分:1)
喜欢这个吗?
cc[,3:4] <- sapply(cc[,3:4], function(col) ifelse(col>50,50,ifelse(col<0,0,col)))
cc
# s.no A B C
# 1 1 Inf 50 50
# 2 2 -0.43 30 23
# 3 3 34.00 0 50