2016-11-21 42 views
-1

我有一個數據集,我想通過特定的ID來連接該行串聯行

id <- c(1,1,1,2,2,2,2) 
location<- c("Mumbai", "Newyork", "Jaipur", "Paris", "London", "Kentucky", "Dublin") 
df <- data.frame(id, location) 

id location 
1 Mumbai 
1 Newyork 
1 Jaipur 
2 Paris 
2 London 
2 Kentucky 
2 Dublin 

paste(location, collapse="") 

我想創建一個名爲每個ID路徑列基於id,這將串接行獲得「孟買 - 紐約 - 齋浦爾」和「巴黎 - 倫敦 - 肯塔基 - 都柏林」。有什麼想法嗎?

回答

1
id <- c(1,1,1,2,2,2,2) 
location<- c("Mumbai", "Newyork", "Jaipur", "Paris", "London", "Kentucky", "Dublin") 
df <- data.frame(id, location) 

library(dplyr) 

df %>% 
    group_by(id) %>% 
    mutate(path = paste(location, collapse = "-"))