删除未列出对象的 R 级别

标签 r list vector levels

我有一个名为“feedb”的变量 这是它被调用的时间:

> feedb
[[1]]
[1] Nocoment
319 Levels:  - --- ... Variasu barang ditambah

[[2]]
[1] Mantao
319 Levels:  - --- ... Variasu barang ditambah

[[3]]
[1] Tolong takpilkan no resi pengiriman.
319 Levels:  - --- ... Variasu barang ditambah

我不知道“319 Levels : - --- ... Variasu barang ditambah”来自哪里。我确实取消了该变量的列表

abc<-unlist(feedb)

它仍然有水平:

> abc
[1] Nocoment                                Mantao                              
[3] Tolong takpilkan no resi pengiriman.
319 Levels:  - --- ... Variasu barang ditambah

这是什么级别?以及如何删除它?我希望 abc 仅包含该值。我尝试了 StringAsFactor=FALSE 但无法使用

最佳答案

我们可以使用droplevels删除未使用的级别或再次调用factor。当因子列或向量被子集化时,应该会发生这种情况,但原始向量的级别仍然存在。

 feedb[] <- lapply(feedb, droplevels)

或者

 feedb[] <- lapply(feedb, factor)

或转换为字符

 feedb[] <- lapply(feedb, as.character)

关于删除未列出对象的 R 级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37111991/

相关文章:

opencv - 将 openCV 矩阵转换为向量

r - 如何找到 "Collect maximum coins"DP 解决方案的时间复杂度?

R在多列中完全匹配和部分匹配

Java List , Vector 比较

c++ - vector 破坏对象但不构造它们的替代品?

c++ - 如何通过 vector/ map 使用指向对象的多个指针

r - 在 R 中分配 data.table 切片

r - 为随机抽样构建 R 循环

python - 如果字符串的长度小于 Python 2.7 中具有最大长度的字符串的长度,如何从字符串列表中删除该字符串?

python 构造字典 {0 : [0, 0, 0], 1 : [0, 0, 1], 2 : [0, 0, 2], 3 : [0, 0, 3], ...,999 : [9, 9, 9]}