У меня есть столбец f
в моем фрейме данных, который я хотел бы разбить на несколько столбцов на основе значений в этом столбце.Например:
df <- structure(list(f = c(NA, "18,17,10", "12,8", "17,11,6", "18",
"12", "12", NA, "17,11", "12")), .Names = "f", row.names = c(NA,
10L), class = "data.frame")
df
# f
# 1 <NA>
# 2 18,17,10
# 3 12,8
# 4 17,11,6
# 5 18
# 6 12
# 7 12
# 8 <NA>
# 9 17,11
# 10 12
Как бы я разбил столбец f
на несколько столбцов, указывающих числа в строке.Меня интересует что-то вроде этого:
6 8 10 11 12 17 18
1 0 0 0 0 0 0 0
2 0 0 1 0 0 1 1
3 0 1 0 0 1 0 0
4 1 0 0 1 0 1 0
5 0 0 0 0 0 0 1
6 0 0 0 0 1 0 0
7 0 0 0 0 1 0 0
8 0 0 0 0 0 0 0
9 0 0 0 1 0 1 0
10 0 0 0 0 1 0 0
Я думаю, я мог бы использовать unique
в столбце f
, чтобы создать отдельные столбцы на основе различных чисел, а затем сделать grepl
чтобы определить, есть ли конкретное число в столбце f
, но мне было интересно, есть ли лучший способ.Нечто похожее на spread
или separate
в пакете tidyr
.