r - 每 7 列提取一次,跳过前 4 列
问题描述
我在 R 中寻找一个简单的代码,可以从更大的数据集中额外的数据。如何保留前 4 列(text1、text2、text3、text4),然后每 7 列(a 列、h 列等)。
example_df <- data.frame(txt1=c(1,2,3,4), txt2=c(1,2,3,4), txt3=c(1,2,3,4), txt4=c(1,2,3,4), a=c(1,2,3,4), b=c(1,2,3,4), c=c(1,2,3,4), d=c(1,2,3,4), e=c(1,2,3,4), f=c(1,2,3,4), g=c(1,2,3,4),h=c(1,2,3,4), i=c(1,2,3,4), j=c(1,2,3,4))
看起来像这样:
txt1 txt2 txt3 txt4 a b c d e f g h i j
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
我需要让它看起来像这样
txt1 txt2 txt3 txt4 a h
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
解决方案
这可以通过简单的方式解决。第一步是找出总列数,假设它是 30。现在默认选择前四个,因此过滤我们的索引从 5 到 30 开始。从这个向量中选择我们需要的那些。准备一个索引向量并传递给 tidyverse 中的选择命令。在我们的例子中,seq(4,30,7) 将给我们以下索引=c(4,11,18,25)。我们可以过滤掉 4,或者使用从我们的第一组中删除它,如下所示。
library(dplyr)
nc=ncol(example_df)
indices=seq(4,nc,7)
example_df <- df_extracted %>% select(1:3,indices)
推荐阅读
- python - PEP3101 检查器安装
- ios - 如何在swift中解压缩ftp下载的数据
- wordpress - virtualmin 上的服务器不断重定向到错误的网站 com WP 多站点
- python-3.x - 如何在本地系统上使用 python 列出远程系统的文件
- typescript - 我正在使用 multers3 和 nestjs 来执行文件上传和一些我得到错误的进一步处理
- python - 通过比较 2 个列表创建布尔列表
- powershell - 使用 Search-ADAccount 过滤“DistinguishedName”输出
- excel - 日期操作和比较 Python、Pandas 和 Excel
- robotframework - 机器人框架出错:测试用例“...”中的语法无效:不推荐使用“...”作为测试用例名称
- python - 是否可以通过一个提交按钮使用多个表单?我正在使用金字塔和变形