2017-09-17 71 views
1

在轉換數據集類似於下面的一個需要幫助的:轉換特徵向量的一列分爲單列

unique_column final_string 
13_AR4X5JP5LR64V c("bollywood Bollywood_Movies", "comedy Bollywood_Movies", "romance Bollywood_Movies", "world_cinema Bollywood_Movies") 
13_AR4X5JP5LR64V c("comedy US_TV", "drama US_TV") 
17_AR5JKJP5LR96V c("comedy IN_TV", "romance IN_TV", "world_cinema IN_TV") 
17_AR5JKJP5LR96V c("comedy IN_TV", "drama US_TV") 
17_AR5JKJP5LR96V c("drama US_TV", "thriller US_TV") 

我想這個轉換成一行的唯一列的每個值。每個字符矢量連接起來。到一個類似於這樣的數據幀:

unique_column final_string 
13_AR4X5JP5LR64V bollywood Bollywood_Movies,comedy Bollywood_Movies,romance Bollywood_Movies,world_cinema Bollywood_Movies,comedy US_TV,drama US_TV 
17_AR5JKJP5LR96V comedy IN_TV,romance IN_TV,world_cinema IN_TV,comedy IN_TV,drama US_TV,drama US_TV,thriller US_TV 

我現在正在使用循環來處理這個,但是這很慢。讓我知道如果有另一種更快的方式來做這個處理。

在for循環中,我使用下面的代碼:

genres <- paste(unlist(data$final_string), collapse=',') 

讓我知道如果你需要任何澄清。

+2

您能否提供一個'dput()'您的示例數據。例如,如果示例數據集稱爲「mylist」,請輸入'dput(mylist)',然後複製輸出並粘貼到此處。 –

回答

1

這不是工作?

library(dplyr) 
df_new <- df %>% group_by(unique_column) %>% summarise(final_string= unlist(paste(unlist(final_string),collapse=","))) 
df_new <- as.data.frame(df_new) 
1

試試這個嗎?

library(dplyr) 
df%>%rowwise()%>%mutate(final_string=toString(unlist(final_string)))