我有一个data.frame a
,一个变量名为alist
的矢量:
a <- data.frame(x1=rnorm(20),x2=rnorm(20),x3=rnorm(20),x4=rnorm(20),x5=rnorm(20),x6=rnorm(20),x7=rnorm(20),x8=rnorm(20),x9=rnorm(20),x10=rnorm(20))
alist<-c("x3","x4","x7","x9")
如何将函数应用于a
,使其仅以alist
的方式影响a
中的变量名称?这意味着a
中命名的变量alist
被函数的输出替换,其余的变量保持不变。
我总是可以运行一个函数,例如log(a[alist])
并将输出与a
合并,但必须有更直接的方法吗?
答案 0 :(得分:0)
这通常有效:
a[,alist] <- sapply(a[,alist], ...)
答案 1 :(得分:0)
以下作品:
a[alist] = apply(a[alist], 2, log)
上面替换值只登录数据帧的那些列&#34; a&#34;在&#34; alist&#34;中指定。