在R中将更改列表排序为整数

时间:2014-01-16 09:34:29

标签: r

我有一个列表,当我应用sort()时,它将类型更改为'integer',这对我来说是不可理解的。非常感谢帮助。

myfile.csv是一个列为{“a”,“a”,“c”,“b”,“c”,“a”}

的列

代码如下:

temp <- read.csv("myfile.csv",header=TRUE)
typeof(temp) ## prints: "list"
temp2 <- sort(temp[,1])
typeof(temp2) ## prints: "integer"

现在我无法使用temp2 [1,]或temp2 [2,]引用temp2中的元素并获取错误

Error in `[.default`(temp3, 1, ) : incorrect number of dimensions

2 个答案:

答案 0 :(得分:2)

temp2 <- sort(temp[,1])获取data.frame temp的第一列,对其进行排序,然后将其分配给temp2。结果是原子向量(可能具有附加属性),因为data.frame列是原子向量(可能具有附加属性)。如果您想要第一个元素temp2,则可以使用temp2[1]。你应该学习help("[")

答案 1 :(得分:2)

使用此命令,temp2将是一个带有排序值的数据框:

temp2 <- temp[order(temp[ , 1]), , drop = FALSE]