错误:对于'sort.list',x必须是原子的

Ray*_* Sp 13 r

这很奇怪.我收到这个错误

sort.list(y)出错:'x'必须是'sort.list'的原子'
你有没有在列表上调用'sort'?

当我在列表上执行此代码时

 cc3 <- as.data.frame(table(cc2))
Run Code Online (Sandbox Code Playgroud)

什么可能是错的?

这是名单的负责人.

head(cc2)   
V1
1:    174
2:    174
3:    211
4: 177106
5: 177106
6: 177106 
Run Code Online (Sandbox Code Playgroud)

编辑:当我跑步时,str(cc2) 我明白了

Classes ‘data.table’ and 'data.frame':  149706 obs. of  1 variable:
$ V1:List of 149706
..$ : Named chr "174"
.. ..- attr(*, "names")= chr "V11"
..$ : Named chr "174"
 .. ..- attr(*, "names")= chr "V7"
 ..$ : Named chr "211"
  .. ..- attr(*, "names")= chr "V6"
 .. [list output truncated]
 - attr(*, ".internal.selfref")=<externalptr> 
Run Code Online (Sandbox Code Playgroud)

lmo*_*lmo 17

从输出中str(cc2),data.table中的变量V1本身就是一个列表.这意味着cc2是长度为1的嵌套列表.由于table调用sort.list需要原子向量作为输入,因此发生错误.

尝试使用unlist:

cc3 <- as.data.frame(table(unlist(cc2)))
Run Code Online (Sandbox Code Playgroud)

unlist将(递归地)从列表容器中提取元素.因此unlist(cc2)将返回一个直接使用的向量table.


Ray*_* Sp 7

我通过取消列出cc2 unli <- unlist(cc2)然后将其转换为df 来解决它df<-as.data.frame(cc2)