我想了解如何在我的數據框的特定列上應用函數,而不「排除」我的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,....)]' –