【发布时间】:2013-09-01 10:16:51
【问题描述】:
我想在数据框上使用 apply 函数,但只将该函数应用于最后 5 列。
B<- by(wifi,(wifi$Room),FUN=function(y){apply(y, 2, A)})
这将 A 应用于 y 的所有列
B<- by(wifi,(wifi$Room),FUN=function(y){apply(y[4:9], 2, A)})
这仅将 A 应用于 y 的第 4-9 列,但 B 的总回报去除了前 3 列...我仍然想要那些,我只是不想将 A 应用于它们。
wifi[,1:3]+B
也没有做我期望/想要的。
【问题讨论】:
-
'by' 调用使这个问题变得复杂。如果相关,您应该重写问题以澄清(什么是 wifi$Room?)。我在下面的回答中忽略了。
-
你可以
cbind(y[1:3], ...)得到你得到的结果。