1
Я хочу использовать функцию order() в R для сортировки данных по столбцу.Как отсортировать данные по назначенному имени для столбца
Например, с data.frame ниже
set.seed(1)
mydata <-as.data.frame(cbind(NUM=seq(1:5),RES=runif(5,0,10)))
> with(data = mydata, mydata[order(RES),])
NUM RES
5 5 2.016819
1 1 2.655087
2 2 3.721239
3 3 5.728534
4 4 9.082078
Это нормально. Но когда я делаю то же самое с назначенным именем для столбца, я получил неожиданный результат.
colname <- "RES"
> with(data = mydata, mydata[order(colname),])
NUM RES
1 1 2.655087
Мне интересно, сталкивался ли кто-либо с той же проблемой и/или если у вас есть решение для этого. Цените свою помощь заранее.
Я думаю, 'с()' немного избыточна здесь. Вместо этого я бы просто квалифицировал столбец под data.frame. Для случая имени жесткого кодированного столбца это будет 'mydata [order (mydata $ RES),]', а для случая имени столбца переменной это будет 'mydata [order (mydata [, colname]), ] ', или, если хотите,' mydata [order (mydata [[colname]])]]. – bgoldst