我想了解如何在我的数据框的特定列上应用函数,而不“排除”我的df中的其他列。例如,我想将某些特定列乘以1000,然后保留其他列。R:在保留数据框其余部分的特定列上应用函数
使用例如sapply功能是这样的:
a<-as.data.frame(sapply(table.xy[,1], function(x){x*1000}))
我得到的第一列乘以1000,但没有,我没有在操作中其他列新dataframes。所以我的尝试是这样做的:
a<-as.data.frame(sapply(table.xy, function(x) if (colnames=="columnA") {x/1000} else {x}))
但这一个没有工作。
我的解决方法是给两个数据框添加另一行ID,稍后将旧数据框与新创建的数据框合并为一个完整的数据框。但我认为必须有更好的解决方案。不是吗?
是的。这正是我正在寻找的。谢谢!! – Joschi
如果我有很多列(n = 30),我该怎么做?打字的所有名字将会是太多的工作... – Joschi
你有号码? 'df [,c(1,2,....)] < - 1000 * df [,c(1,2,....)]' –