Подсчитать элементы в столбце dataframe, затем создать отдельные столбцы в R - PullRequest
0 голосов
/ 10 мая 2018

Я несколько дней бьюсь над решением проблемы.Надеюсь, вы можете помочь.Я уже проверил следующее:

У меня есть следующий кадр данных:

df<-list(column=c("apple juice,guava-peach juice,melon apple juice","orange juice,pineapple strawberry lemon juice"))
df<-data.frame(df)

Я хочу отделить каждый элемент от "," в своей колонке.Количество столбцов должно быть основано на максимальном количестве элементов в каждой строке в столбце

 column1               column2                              column3
 apple juice       guava-peach juice                  melon apple juice
 orange juice    pineapple strawberry lemon juice             NA

Я пытался использовать

library(tidyverse)
library(stringr)

#want to calculate number of columns needed and the sequence 

x<-str_count(df$column)

results<-df%>%separate(column,x,",")

К сожалению, я не получаю то, чтоЯ хочу.Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 10 мая 2018

Вы имеете в виду это?

library(splitstackshape)
library(dplyr)

df %>%
  cSplit("column", ",")

Вывод:

       column_1                         column_2          column_3
1:  apple juice                guava-peach juice melon apple juice
2: orange juice pineapple strawberry lemon juice              <NA>

Пример данных:

df <- structure(list(column = structure(1:2, .Label = c("apple juice,guava-peach juice,melon apple juice", 
"orange juice,pineapple strawberry lemon juice"), class = "factor")), .Names = "column", row.names = c(NA, 
-2L), class = "data.frame")
...