Как разделить атомарный вектор или столбец данных внутри фрейма данных в R - PullRequest
0 голосов
/ 03 мая 2019

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

Я использую набор данных, который был создан в Бразилии, поэтому у него уже было много проблем с форматированием, которые я уже исправил.ех.запятые вместо десятичных, настройка форматов даты / времени и т. д. Самая большая проблема, с которой я сейчас сталкиваюсь, - это последний столбец во фрейме данных, в котором строки содержат от 1 до 6 результатов.

Это то, что я 'До сих пор дошел и получаю эту ошибку: Ошибка в CF_IDs $ IDs: $ оператор недопустим для атомарных векторов

CF_IDs <- NewSet1$IDs[ ((NewSet1$Behaviour == "DP" | NewSet1$Behaviour == "P") & NewSet1$Interaction == "S") ]
str_split_fixed[CF_IDs$IDs, ",", 6]

Сейчас мой фрейм данных выглядит так:

Behaviour|Interaction|IDs
P        |S          |15L,33L,38L
D        |N          |43L,17L
D        |N          |9L,10L

Я пытаюсь разделить столбец идентификаторов, но также не создаю проблему с NA.Я хочу разделить их по отдельности, чтобы вычислить каждую уникальную переменную из 52 вместо того, что в настоящее время из 403.

* Редактирование: преобразование последнего столбца в несколько строк также будет работать, но у меня нетИдея, как это сделать.Это может выглядеть примерно так:

Behaviour|Interaction|IDs
P        |S          |15L
P        |S          |33L
P        |S          |38L
D        |N          |43L
D        |N          |17L
D        |N          |9L
D        |N          |10L

1 Ответ

0 голосов
/ 03 мая 2019

Я разобрался, как это сделать, и хотел опубликовать на случай, если кто-то еще наткнется на это.

#Separate IDs column into individual rows with corresponding Behavior and Interaction variables
NewSet1_IDs <- separate_rows(NewSet1, IDs)
#Remove rows caused by blank space at the end of IDs in original data set
NewSet1_IDs <- NewSet1_IDs[!(NewSet1_IDs$IDs == ""),]

Это дает желаемый результат.

...