2017-06-01 45 views
2

我想採取兩列,並添加他們兩列。例如,我有以下數據:將列添加到其他列

EU.Member.States X. Other.countries..continued. X..1 
Austria    122 Cameroon      203 
Belgium    150 Canada      156 
Denmark    179 Canary Islands    132 
Finland    156 Cape Verde     147 
France    130 Cayman Islands    213 

如何獲取「Other.countries..continued」下的行。和「X..1」,並直接在「EU.Member.States」和「X」下添加它們。分別?

我一直在使用的(tidyr)團結起來,但沒有成功嘗試。

+1

如果你只有4列。從'data.table'嘗試'mapply(c,df [c(1,2)],df [c(3,4)])或'rbindlist'。 –

回答

1

你的問題幾乎是相同的this one。使用dplyr包的管道,我可以首先複製列名,然後應用經典rbind來建議解決方案。我只用了前兩行的例子:

df %>% setNames(names(df)[c(1,2,1,2)]) %>% {rbind(.[,1:2], .[,3:4])} 
#### EU.Member.States X. 
#### 1   Austria 122 
#### 2   Belgium 150 
#### 3   Cameroon 203 
#### 4   Canada 156 

注:括號內是在這裏告訴管道不採取.作爲一個隱含的第一個參數。