2017-07-05 3 views
-1

私は、次の例のようなデータフレームを持っていますという文字変数dfから構成されています。ストリングを長いデータフレーム形式の値に分割する

df<-data.frame(ID = 1:2, 
       VAR = c("VAL1\r\nVAL2\r\nVAL8","VAL2\r\nVAL5"), 
       stringsAsFactors = FALSE) 
#  ID     VAR 
# 1 1 VAL1\r\nVAL2\r\nVAL8 
# 2 2   VAL2\r\nVAL5 

私は帰りの送料で文字変数を分割したい - 改行\r\nと以下の目的のデータフレーム取得:私は次のようにコードを書いたが、私は何とかして失われてしまった

# ID VAR 
# 1 1 VAL1 
# 2 1 VAL2 
# 3 1 VAL8 
# 4 2 VAL2 
# 5 2 VAL5 

gatherは、データフレームのフォーマットをロングフォーマットに変更しようとしているときに機能します。

library(tidyverse) 
df <- df %>% 
    bind_cols(as.data.frame(str_split(df$VAR,"\r\n",simplify = TRUE))) %>% 
    select(-VAR) %>% 
    gather(key,value) 

助言してください。

+0

@Sotosでこれを行うことができますか? – akrun

+1

@akrunそれじゃない?もし私がこの 'cSplit(df、" VAR "、" \ r \ n "、" long ")を実行すると、リンクされたdupeの答えは私が期待した結果を得る – Sotos

+0

私はsepが同じではないことを意味しました。もちろん、ああ、 – akrun

答えて

-1

私たちは、これがリンク1の複製であるどのようにseparate_rows

library(tidyr) 
separate_rows(df, VAR, sep='\\s+') 
関連する問題