大きなデータセットを持っていますが、その小さなサンプルは以下の4 x 5チブルのように見えます。 4行目で見られるようにしかし、これは、NASの余分な行を強制しcSplit Coerces Unnecessary NA Row
library(splitstackshape)
dt <- tibble(
a = c("Quartz | White Spirit | Wildfire", "Quiet Riot", "Race Against Time", "Down | Heart Lane | X | Breaking H"),
b = c("Muthas Pride", "Killer Girls/Slick Black Cadillac", "Demo 1980", "Life 55"),
c = c("Split", "Single", "Demo", "Split"),
d = c("Birmingham, England | Hartlepool, England | Sheffield, South Yorkshire, England", "Los Angeles, California", "Nottingham, England", "Liverpool | Beijing | | NYC"),
e = c("wf | ef | ff", "g", "f", "cf | af | df | rf")
)
dt.s <- subset(dt, c == "Split")
dt.split <- cSplit(dt.s, c("a", "d", "e"), c("|", "|", "|"), "long")
dt.split
を:私は以下のように変数c=="Split"
を使用して一意の行に複数の区切られた列を分割しようとしている
a b c d e
1: Quartz Muthas Pride Split Birmingham, England wf
2: White Spirit Muthas Pride Split Hartlepool, England ef
3: Wildfire Muthas Pride Split Sheffield, South Yorkshire, England ff
4: NA Muthas Pride Split NA NA
5: Down Life 55 Split Liverpool cf
6: Heart Lane Life 55 Split Beijing af
7: X Life 55 Split df
8: Breaking H Life 55 Split NYC rf
これではありません2つの列だけを分割すると問題が発生します。 NA行を生成しないようにするにはどうすればよいですか?そして、c
でサブセット化せずにcSplit
を動作させる方法はありますか?
ありがとうございますが、上のコードではなく、上記のコードをデータセット上で実行すると、次のエラーが発生します。 'エラー:すべてのネストされた列の要素数が同じでなければなりません。 ' – 1984
@ 1984私はあなたのサンプルデータだけをテストしました – akrun