我有一个列表,当我应用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
答案 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]