假设我有一个 date.frame 像:
df <- data.frame(a=1:5, b=sample(1:5, 5, replace=TRUE), c=5:1)
df
a b c
1 1 4 5
2 2 3 4
3 3 5 3
4 4 2 2
5 5 1 1
我需要更换所有5
as NA
在列中b
& c
然后返回df
:
df
a b c
1 1 4 NA
2 2 3 4
3 3 NA 3
4 4 2 2
5 5 1 1
但我想做一个通用的apply()
函数而不是使用replace()
逐一进行,因为实际数据中实际上有很多变量需要替换。假设我定义了一个变量列表:
var <- c("b", "c")
并想出类似的东西:
df <- within(df, sapply(var, function(x) x <- replace(x, x==5, NA)))
但什么也没发生。我在想是否有一种方法可以通过将 data.frame 中的列名变量列表传递到通用函数中来解决与上述类似的问题apply / plyr
函数(或者可能是其他一些完全不同的方式)。谢谢~
你可以这样做
df[,var][df[,var] == 5] <- NA
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)