0
私はおもちゃのデータフレームを持っています。私は複数のカテゴリを集めたいと思っていますが、私はわずか3つのid
で終わるはずです。言い換えれば、id
の列には同じ番号の3つのリピートしかないはずです。複数のギャザー()をdplyrで長さを何度も延長しないで
>a
id cat.a1 cat.a2 cat.a3 cat.b1 cat.b2 cat.b3 cat.c1 cat.c2 cat.c3
1 1.0 2.0 3.0 1.0 2.0 3.0 1.0 2.0 3.0
2 1.0 2.0 3.0 1.0 2.0 3.0 1.0 2.0 3.0
3 1.0 2.0 3.0 1.0 2.0 3.0 1.0 2.0 3.0
上記のデータフレームは、私が始めているものです。そこから私は、私が
id cat.a cat.b cat.c
1 1.0 2.0 3.0
1 1.0 2.0 3.0
1 1.0 2.0 3.0
2 1.0 2.0 3.0
2 1.0 2.0 3.0
2 1.0 2.0 3.0
3 1.0 2.0 3.0
3 1.0 2.0 3.0
3 1.0 2.0 3.0
これまでのところ、私がやって試してみました複数のひだを得るために私のコードを変更するにはどうすればよい
id cat.a cat.b1 cat.b2 cat.b3 cat.c1 cat.c2 cat.c3
1 1.0 1.0 2.0 3.0 1.0 2.0 3.0
1 2.0 1.0 2.0 3.0 1.0 2.0 3.0
1 3.0 1.0 2.0 3.0 1.0 2.0 3.0
2 1.0 1.0 2.0 3.0 1.0 2.0 3.0
2 2.0 1.0 2.0 3.0 1.0 2.0 3.0
2 3.0 1.0 2.0 3.0 1.0 2.0 3.0
3 1.0 1.0 2.0 3.0 1.0 2.0 3.0
3 2.0 1.0 2.0 3.0 1.0 2.0 3.0
3 3.0 1.0 2.0 3.0 1.0 2.0 3.0
を与え、次の
a %>%
gather(key1,cat.a,starts_with('cat.a')) %>%
select(-starts_with('key')) %>%
arrange(id)
を行うことができました期待していたように、これは私が必要とするよりもはるかに長いデータフレームをもたらしました。
あなたは何を '\\ D +' をしているのですか?説明してもらえ私はそれが正規表現だと知っていますが、何が起こっているのか分かりません。 – Alex
文字列から数字を削除します。 'sub( '\\ d +'、 ''、 'abc12')' – Sotos