我希望学习如何在DataFrame中对特定列应用函数,而不需要“排除”其他列。例如,我想将某些特定列乘以1000,同时保留其他列不变。
使用sapply函数可以实现以上功能,例如:
使用sapply函数可以实现以上功能,例如:
a<-as.data.frame(sapply(table.xy[,1], function(x){x*1000}))
我希望用第一列乘以1000得到新的数据框,但不包含未参与运算的其他列。所以我的尝试是这样的:
a<-as.data.frame(sapply(table.xy, function(x) if (colnames=="columnA") {x/1000} else {x}))
但这种方法并没有奏效。
我的解决办法是给这两个数据帧都添加一行ID,并将旧的数据帧与新创建的数据帧合并,以获得完整的数据帧。但我认为一定有更好的解决办法,不是吗?
a<-as.data.frame(sapply(df[,2:42], function(x){x*1000}))
但是,我的数据框df的第一列不在新创建的数据框(a)中...所以我不得不想办法将旧数据框的第一列合并到新数据框中。这样做也可以,但我认为可能有更简单的方法... - Joschi