如何在R中生成有序的向量列表?

时间:2013-12-03 20:02:05

标签: r sorting vector ranking

在我的数据中,我有一个由30个人组成的单词和他们的评分列表1-5。

我已将单词评级的平均值分配给各个向量,如下所示

dox.mean = c(mean(doxrating))
noi.mean = c(mean(noirating)) 
wostaro.mean = c(mean(wostaro$rating))

现在我想用R来按降序生成矢量列表。

当我尝试

sort(dox.mean, noi.mean, wostaro.mean)

它返回错误消息:

Error in sort(dox.mean, noi.mean, daishu.mean) : 'decreasing' must be a length-1 logical vector

您打算设置'部分'吗?

当我使用order(dox.mean, noi.mean, wostaro.mean)时,它只返回:[1] 1

如何生成此列表?我是一个新手,这么简单的条款会有所帮助!

1 个答案:

答案 0 :(得分:0)

R中的排序函数处理向量。

例如,x <- c(1,2,3,4), sort(x)sort(c(1,2,3,4))生成相同的正确结果。但是要对data.frame进行排序,你必须再采取一步措施:

  1. 假设您的数据框有一个名称mydata:获取您想要对数据框进行排序的列的向量;在你的情况下,它可以是这样的:

    sort_dox <- sort(mydata$dox.mean), sort_noi <- sort(mydata$noi.mean), sort_wos <- sort(mydata$wostaro.mean)
    
  2. 使用子集获取排序结果:

    mydata[c(sort_dox, sort_noi, sort_wos)]
    
  3. 您可以添加TF来选择降序或升序排序方法。