从数据框中删除所有只有零的列或行

标签 r dataframe data.table tidyverse

我对 R 中的 NLP 有一个问题。我的数据非常大,因此我需要减少数据以进行进一步分析,以便在其上应用 SVM。

我有一个像这样的文档术语矩阵:

Document WordY WordZ WordV WordU WordZZ
1        0     0     0     1     0
2        0     2     1     2     0
3        0     0     1     1     0

所以在这个例子中,我想按列 WordY 和 WordZZ 减少数据帧,因为这些列对于这个数据帧没有特定的含义。这是否可以使用一个特定的顺序删除所有只有零值的列?我的问题是我的数据框太大,无法用一个订单删除每个特定列。它在数据框中大约有 4.0000.0000 列。

提前谢谢你们。 干杯, 汤姆

最佳答案

使用 colSums():

df[, colSums(abs(df)) > 0]

即当且仅当绝对值之和为零时,一列只有零。

关于从数据框中删除所有只有零的列或行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67861799/

相关文章:

R:如何将数据框拆分为训练集、验证集和测试集?

用字符后缀而不是数字后缀将宽改成长

r - 按组列列表的平均值

r - 将 apply 函数与 data.table 一起使用,为什么这么慢?

r - 带双面卷的全外连接 (LOCF)

html - 更改 actionButton 及其标签的大小

在 data.table 中四舍五入为倍数并过滤

python - PySpark groupby 多个时间窗口

python - 通过另一个数据帧过滤系列/数据帧

python - 基于索引合并数据帧