У меня есть фрейм данных, где каждое наблюдение отделено от большого случая, где каждые 20 строк начинается новый случай, то есть строки 1:20 - случай 1, а 21:40 - случай два. Я хочу проанализировать каждый случай в целом, поэтому я хочу изменить данные на основе переменной CaseId
, чтобы каждый случай был представлен в одном наблюдении без потери каких-либо данных. Я попробовал этот код.
train_clean <- train %>%
group_by(CaseId) %>%
summarise_all(function(train) paste0(train, collapse = "_")) %>%
cSplit(names(.)[-1], '_')
Это частично сработало, когда каждый случай был представлен в одной строке, но в нем создавалось ровно удвоенное количество столбцов для каждой строки, так что вместо переменной X, имеющей X1 .. X20, где каждое наблюдение из необработанных данных представлено в одной строке для случая, я получаю от X1 до x40, но с X21: X40 будет пустым. Это происходит с каждой переменной в данных, есть ли что-то, что мне нужно настроить в моем коде, чтобы заставить его работать так, как мне бы хотелось.
Это основной пример того, что я хочу сделать, но в более широком масштабе.
X CaseID
1 73.91 20170907000118
2 74.67 20170907000118
3 71.07 20170907000139
4 66.46 20170907000139
CaseID X1 X2
1 20170907000118 73.91 74.67
2 20170907000139 71.07 66.46
Я ценю любую помощь, которую могу получить, спасибо