文字列には、行ごとに異なる値の文字列があります。これは、ほんの少しの例である:私は、列名と後の値として、コロンの前に値を割り当てる値の異なる大きな文字列を複数の列に分割します。
structure(list(GoodForMeal = "dessert': False, 'latenight': False, 'lunch': True, 'dinner': True, 'breakfast': False, 'brunch': False}"), .Names = "GoodForMeal", row.names = c(NA,
-1L), class = c("tbl_df", "tbl", "data.frame"))
:ここ
GoodForMeal %>% head(5)
# A tibble: 5 x 1
GoodForMeal
<chr>
1 dessert': False, 'latenight': False, 'lunch': True, 'dinner': True
2 dessert': False, 'latenight': False, 'lunch': True, 'dinner': True
3 <NA>
4 dessert': False, 'latenight': False, 'lunch': True, 'dinner': True
5 dessert': False, 'latenight': False, 'lunch': True, 'dinner': True
は、列の最初の行のdput()
ですコロンをそれぞれの列の値として使用します。
例:
desert latenight lunch diner
1 False False True True
2 False False True True
3 NA NA NA NA
4 False False True True
5 False False True True
Iはtidyr
packadgeとseparate
とspread
機能でそれを試してみました:問題は、Rはコロンの前のすべての値を分割されていないある
separate(GoodForMeal, c("key", "value"), sep = ":", extra = "merge") %>% spread(key, value)
しかしちょうど最初の値。
だから、結果は以下のようになります。it'sを例にのように見えるように値を分割する方法
GoodForMeal %>% str()
Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 4464 obs. of 2 variables:
$ dessert': chr " False, 'latenight': False, 'lunch': True, 'dinner': False, 'breakfast': False, 'brunch': False}" " False, 'latenight': False, 'lunch': True, 'dinner': True, 'breakfast': False, 'brunch': False}" " False, 'latenight': False, 'lunch': False, 'dinner': False, 'breakfast': False, 'brunch': False}" " False, 'latenight': False, 'lunch': True, 'dinner': True, 'breakfast': False, 'brunch': False}" ...
$ <NA> : chr NA NA NA NA ...
任意のアイデア? THX
[再現可能な例](http://stackoverflow.com/questions/5963269)を提供できますか?あなたの解決策は – Sotos