행당 값이 다른 문자 열이 있습니다.다른 양의 값을 가진 큰 문자 열을 여러 열로 나누십시오.
다음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()
입니다 : 이것은 단지 작은 예입니다
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"))
난 후 열 이름과 콜론 앞의 값과 값을 지정하려면 콜론을 해당 열의 값으로 사용하십시오.
예 :
I는tidyr
packadge 및
separate
및
spread
기능을 시도
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
:
separate(GoodForMeal, c("key", "value"), sep = ":", extra = "merge") %>% spread(key, value)
문제는 R은 결장 전에 모든 값을 분할하지 않고, 그냥 첫 번째 값.
그래서 결과는 다음과 같다 : 그 예에서처럼 보이는 키우면 있도록
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