r - 从 r 中的数据框中删除每第 n 列
问题描述
我试图通过删除每三列来减小数据框的大小。
这是我的示例数据框:
example = data.frame(x=c(1,2,3,4), y=c(1,2,3,4), z=c(1,2,3,4), w=c(1,2,3,4), p=c(1,2,3,4), q=c(1,2,3,4), r=c(1,2,3,4))
看起来像这样
x y z w p q r
1 1 1 1 1 1 1
2 2 2 2 2 2 2
3 3 3 3 3 3 3
4 4 4 4 4 4 4
我想把它转换成看起来像这样的东西
x y w p r
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
我已经能够使用 tidyverse 减少行数:
example <- example %>% dplyr::filter(row_number() %% 3 != 1)
但我不知道如何删除每三列。
我也尝试过使用这条线:
example[, !(c%%3==0)]
从删除数据帧中的每个第 n 行,但我不断收到此错误:c%%3 中的错误:二进制运算符的非数字参数
在此先感谢您的帮助。
解决方案
您可以在 base.xml 中以非常简单的方式执行此操作。
example[, c(TRUE, TRUE, FALSE)]
逻辑向量将根据列的需要重复。如果你想让它扩展,你可以做这样的事情。
n <- 3
example[, c(rep(TRUE, n - 1), FALSE)]
如果您愿意,dplyr
等效的可以是:
example %>%
select(everything()[c(TRUE, TRUE, FALSE)])
推荐阅读
- sql - Teradata - 调用名称中带有空格的表
- spacy - spacy/sense2vec 中的 most_similar 方法打印所有内容
- python - Matplotlib:2 x 1 的最简单示例 - 绘图网格因“无法创建对布尔的弱引用”而失败
- tensorflow - 在神经网络中将批量大小或神经元数量作为 2 的幂的原因是什么?
- jquery - 为数据表中的子行创建点击事件的最佳方法
- javascript - 对象继承/导入问题
- arrays - JSON 有没有办法启用对象映射以减少字符串大小?
- windows - Windows 服务在 Windows 启动时无法读取 UNC 路径
- python - 如何在python中组合多个集合的元素?
- python - 使用 Python 脚本获取网络服务器响应时间