У меня есть фрейм данных с большим количеством информации о компании, разделенной переменной id.Я хочу отсортировать одну из переменных и повторить ее для каждого идентификатора.Давайте возьмем этот пример,
df <- structure(list(id = c(110, 110, 110, 90, 90, 90, 90, 252, 252
), var1 = c(26, 21, 54, 10, 18, 9, 16, 54, 39), var2 = c(234,
12, 43, 32, 21, 19, 16, 34, 44)), .Names = c("id", "var1", "var2"
), row.names = c(NA, -9L), class = "data.frame")
, который выглядит следующим образом
df
id var1 var2
1 110 26 234
2 110 21 12
3 110 54 43
4 90 10 32
5 90 18 21
6 90 9 19
7 90 16 16
8 252 54 34
9 252 39 44
Теперь я хочу отсортировать фрейм данных по var1
по вектору id
.Самое простое решение, о котором я могу подумать, это использовать функцию apply
, подобную этой,
> apply(df, 2, sort)
id var1 var2
[1,] 90 9 12
[2,] 90 10 16
[3,] 90 16 19
[4,] 90 18 21
[5,] 110 21 32
[6,] 110 26 34
[7,] 110 39 43
[8,] 252 54 44
[9,] 252 54 234
Однако, это не тот вывод, который я ищу.Правильный вывод должен быть
id var1 var2
1 110 21 12
2 110 26 234
3 110 54 43
4 90 9 19
5 90 10 32
6 90 16 16
7 90 18 21
8 252 39 44
9 252 54 34
Группировать по id
и сортировать по var1
столбец и сохранять исходный id
порядок столбцов.
Любая идеякак сортировать так?