【发布时间】:2021-04-14 02:57:34
【问题描述】:
抱歉,很难生成可重复的示例,但也许有人可以提供帮助?通常是这样的:
dummied = 30]
可以很好地删除稀疏的虚拟列(列包含 0 和 1)。
在我得到的一些新代码中:
Error in `[.data.frame`(dummied, , colSums(dummied) >= 30): undefined columns selected
Traceback:
1. dummied[, colSums(dummied) >= 30]
2. `[.data.frame`(x, , colSums(dummied) >= 30)
3. stop("undefined columns selected")
任何想法可能是什么原因?
如果我这样做:
colSums(dummied)
我仍然得到:
col1 1363 col2 635 col3 34 ...
所以 colSums(dummied) 似乎有效。谢谢。
【问题讨论】:
-
你能检查一下 colSums 是否产生了任何 NA 吗?
any(is.na(colSums(dummied))) -
谢谢 - 似乎是这样,可能是原因?
-
是的,使用 NA 向量进行选择不起作用。你可以使用
colSums(dummied, na.rm = T)
标签: r