Как создать таблицу, в которой отображается слово и количество раз, когда оно было найдено в определенном столбце

#r

Вопрос:

Я относительно новичок в R, и мне было поручено проанализировать информацию из определенного столбца в файле xlsx. Я пытался в течение нескольких дней и исследовал, как я могу провести анализ, но, похоже, не могу этого понять. Это может быть из-за моего недостатка знаний в R.

Значения внутри анализируемого столбца-это типы пены, которые были/были у человека в момент вопроса. Значения выглядят примерно так….

Заголовок -> Ось I

Строка 1 -> ПТСР, Злоупотребление Алкоголем, Злоупотребление Кокаином, Интоксикация

Строка 2 -> Злоупотребление табаком, Злоупотребление алкоголем, ПТСР

Строка 3 -> Злоупотребление Опиоидами, Опиоидная Интоксикация, Злоупотребление Кокаином

Идея состоит в том, чтобы создать x2 типа анализа и сохранить его в таблице Excel. Первый анализ состоит в том, чтобы узнать количество людей, у которых было/есть ПТСР, злоупотребление алкоголем и т.д… Второй анализ такой же, как и первый, но с более чем 1 употреблением психоактивных веществ. (ПТСР, Злоупотребление алкоголем, злоупотребление кокаином и т. Д.)

Закрытие, которое я смог получить, связано со следующим кодом:

 SUB_DATA <- read.csv("SUD_FILE.csv")
table(unlist(strsplit(SUB_DATA$Dx.Axis.I, "[,]")))
 

С помощью этого кода я получаю следующий результат [см. Прилагаемый img]
Результаты выполнения приведенного выше кода

Как видно из img, код выполняет 1-й анализ, который я хочу выполнить, но по какой-то причине, которую я не понимаю, он разделяет значения на переменные x2 с одинаковым именем. Если я добавлю оба значения, представленные в выходных данных, я фактически получу правильную сумму для poeple со злоупотреблением алкоголем (n=19).

Я до сих пор даже знаю, как задать второй вопрос.

Любая помощь будет признательна. Если мне удастся решить эту проблему, я обновлю сообщение.

Заранее спасибо.

Правка 1 -> Я попытался сделать столбец более четким. Я также добавил изображение в нижней части столбца.

введите описание изображения здесь

PS: Отображаемый код-это единственный код, который у меня есть, который делает то, что я хочу. Я могу прикрепить файл excel с той же частью, если это поможет.

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

2. Возможно, вы захотите попробовать опубликовать небольшую выборку имеющихся у вас данных и тип выходных данных, которых вы пытаетесь достичь.

Ответ №1:

Вероятно, это связано с дополнительными пробелами в одном из слов. В strsplit разделите слова запятой и любыми пробелами, если таковые имеются. Вы также можете использовать trimws для обрезки пробелов.

 result <- table(trimws(unlist(strsplit(SUB_DATA$Dx.Axis.I, ",\s*"))))