У меня есть набор данных, в котором у меня было несколько строк, соответствующих базовым показателям. Я хочу свернуть эти строки по идентификатору записи, чтобы у каждого человека была только одна строка для базовых показателей. Это означает, что мне нужно свернуть все переменные, некоторые из которых являются символьными переменными. Как мне это сделать? Вот что я пробовал:
df.test %>% group_by(id) %>% filter(time == 0) %>%
summarise_all(., collapse=", ")
пример фрейма данных, с которым я работаю, выглядит следующим образом:
data.frame(id = rep(99, 5), time = c(rep(0, 3), 3, 6), v1 = c("blk", NA, NA, 2, 3), v2 = c(NA, 1, NA, 4, 5), v3 = c(NA, NA, 1, 6, 7))
и мне нужно, чтобы это выглядело так:
data.frame(id = rep(99, 3), time = c(rep(0, 1), 3, 6), v1 = c("blk", 2, 3), v2 = c(1, 4, 5), v3 = c(1, 6, 7))
Я не знаю, подходит ли здесь функция суммирования. По сути, у меня есть проблема с суммированием символов, поэтому я думаю, что суммирование не работает. В идеале все, что я действительно хочу сделать, это объединить информацию во всех строках, где время = 0 по идентификатору, чтобы у меня была единственная строка времени = 0 для каждого уникального идентификатора.
(извините, я не уверен, как заставить команду data.frame печатать фрейм данных?)
Помогите пожалуйста!
Редактировать: Пример 2
data.frame(id = c(rep(99,5), 100, 101, 101), time = c(rep(0, 3), 3, 6, 0, 0, 0), character = c(NA, NA, "blk", rep(NA, 5)), binary = c(1, rep(NA, 5), 0, NA), continuous = c(NA, NA, 2.29, rep(NA, 5)))
Это близко к тому, как выглядят мои данные. То, что я могу сказать, не работает, так это:
1) символьная переменная потеряна
2) 0 теряется в двоичной переменной (даже с! = Is.na (.) Вместо! = 0
2a) это было атомарно, и я изменил его на фактор, и теперь, похоже, работает
3) непрерывная переменная 2.29 потеряна
4) что интересно и не изображено здесь, так это то, что значения целых чисел, которые не равны 0, похоже, сохраняются, но целые числа пропали - это потому, что целые числа не могут быть прочитаны, если структура атомарна?
Вывод: я думаю, что мне нужно изменить все значения с атомарных (они были введены таким образом из SPSS)? А пока попробую.
edit2: проблема не была числовой против атомарной. я перевернул все числовые значения, а целые числа все еще не отображаются.