我正在尝试使除";非数字";以及";singlecomcols";。
notnumeric <- c(40, 42:47, 61:62)
df[,-notnumeric] <- sapply(df[,-notnumeric], as.numeric)
singlecombcols <- c("singlecomb_1", "singlecomb_2", "singlecomb_3", "singlecomb_4")
df[,-singlecombcols] <- sapply(df[,-singlecombcols], as.numeric)
在过去,我已经成功地使用了这种类型的代码。然而,我现在收到以下错误消息:
Error in -notnumeric : invalid argument to unary operator
Error in -singlecombcols : invalid argument to unary operator
当我删除"-"在变量名之前,我可以运行它。R中有什么变化,不再允许我使用"-"指定要将函数应用于除给定对象指定的列之外的所有列?
第二部分是一个问题,即数字索引可以有-
,但对于列名,我们需要setdiff
nm1 <- setdiff(names(df), singlecombcols)
df[nm1] <- lapply(df[nm1], as.numeric)
或%in%
和!
i1 <- !names(df) %in% singlecombcols
df[i1] <- lapply(df[i1], as.numeric)