当其中一列的值为0时,我想更改数据框列中条目的名称。我试过这种方式,但收到错误消息。假设我想将第1,2,3列的条目更改为" A"当第3列的条目为0
时df[ df[ , 3 ] == 0 , c(1,2,4) ] <- "A"
我得到了
Warning message:
In `[<-.factor`(`*tmp*`, iseq, value = c("A", "A", "A", :
invalid factor level, NA generated
答案 0 :(得分:0)
以下命令后应该可以工作:
df[,c(1,2,4)]=sapply(df[,c(1,2,4)], function(x) as.character(x))
可以按照josilber在评论中的建议缩短为以下内容:
df[,c(1,2,4)]=sapply(df[,c(1,2,4)], as.character)