我環顧四周尋找答案,並沒有完全想出解決方案。如何在R數據框中將一列分成多列
我試圖劃分多個(〜60),通過在數據幀中的單個列(樣本努力單元)
我的數據幀(種數)的列我能拿出解決方案下面 - 但它比我想要的更混亂。正如現在寫的,我可能會意外地運行最後一行代碼兩次,並通過分割兩次來弄亂我的值。
下面是一個簡短的例子,我演示了我使用的解決方案。任何建議更清潔的東西?
#short data.frame with some count data
#Hours is the sampling effort
counts=data.frame(sp1=sample(1:10,10),sp2=sample(1:10,10),
sp3=sample(1:10,10),sp4=sample(1:10,10),
Hours=rnorm(10,4,1))
#get my 'species' names
names=colnames(counts)[1:4]
#This seems messy: and if I run the second line twice, I will screw up my values. I want to divide all 'sp' columns by the single 'Hours' column
rates=counts
rates[names]=rates[,names]/rates[,'Hours']
PS:我一直在用管道%>%,因此如果任何人有一個解決方案,我可以改造「計數」 data.frame而無需創建一個新的data.frame,這將是膨脹!
PSS我懷疑哈德利的功能之一可能是我所需要的東西(如mutate_each?),但我一直沒能弄明白..
試試這個'計數%>%mutate_each(玩意兒(./小時),-Hours)' – agenis
但你在那裏ISN 'mutate_each'的幫助文件中只有一個例子 – agenis
請不要發佈像'rm(list = ls())'這樣的代碼,除非它對您的示例至關重要。這不是某種人想要複製/粘貼和意外運行的東西。 – Gregor