2017-11-20 7 views
0

大きなデータフレームがあります。R:行の内容を同じパターンで結合する

同じタイプのパターンの行コンテンツを結合し、 "/"記号で別々のコンテンツを使用したいと考えています。例えば

df> 
    type function 
    A cleaning 
    A improve chemical reaction 
    A reduce scratch 
    B improve planarization 
    B improve slurry distribution 
    C cleaning 
    C improve slurry distribution 
    D reduce scratch 

私はにDF転送したい:

df_transfer> 

     type function 
     A cleaning/improve chemical reaction/reduce scratch 
     B improve planarization/improve slurry distribution 
     C cleaning/improve slurry distribution 
     D reduce scratch 
+0

あなたは 'dput(DF)あなたの答えと提案のための' –

答えて

3

この例では、助けるべきである:

df = data.frame(type = c("A","A","A","B","B"), 
       fun = c("cleaning", "improve chemical reaction", "reduce scratch", 
         "improve planarization", "improve slurry distribution"), 
       stringsAsFactors = F) 

library(dplyr) 

df %>% 
    group_by(type) %>% 
    summarise(fun = paste0(fun, collapse = "/")) 

# # A tibble: 2 x 2 
# type            fun 
# <chr>            <chr> 
# 1  A cleaning/improve chemical reaction/reduce scratch 
# 2  B improve planarization/improve slurry distribution 

私はあなたが何かに自分の列名を変更することをお勧めしたいですfunctionコマンドとの不要な競合を避けるためにfunctionとは異なります。

df %>% dplyr::select(x, y) %>% 
dplyr::group_by(x) %>% 
dplyr::summarise(y=y %>% 
paste(collapse = "/")) -> df_transfer 
+0

感謝の結果を投稿してくださいすることができます – Eva

0
x <- c("A","A","A","B","B","C","C","D") 
y <- c("cleaning","improve chemical reaction"," reduce scratch"," improve planarization","improve slurry distribution"," cleaning"," improve slurry distribution","reduce scratch") 
df <- data.frame(x,y) 

この

はトリックを行う必要があります。それは本当に私にとって有益です。
関連する問題