2016-07-21 66 views
-1

我想按變量排序行。我在下面創建了一個示例數據框,並試圖對行進行排序,但排序似乎不起作用。R:排序行

# Create vectors for data frame 
score <- rep(seq(1:3), 2) 
id <- rep(c(2014, 2015), each = 3) 
var_if_1 <- rep(c(0.1, 0.8), each = 3) 
var_if_2 <- rep(c(0.9, 0.7), each = 3) 
var_if_3 <- rep(c(0.6, 0.2), each = 3) 

# Generate and print data frame of raw data 
foo <- data.frame(score, id, var_if_1, var_if_2, var_if_3) 
foo 

# Impose arbitrary ordering 
bar <- foo[sample(1:nrow(foo)), ] 
bar 

# Order rows increasing on 'score' 
bar[order(score), ] 

我在做什麼錯誤,這不會影響得分上的行嗎?

+1

使用'bar [order(bar $ score),]'。 – lmo

回答

2

您應該使用

bar[order(bar$score), ] 

否則,你下令變量「分數」的基礎上,而不是列。