根据选定的变量/列名称过滤R数据框并子设置R数据框 [英] Filtering and subsetting R dataframe based on selected variable/column names
本文介绍了根据选定的变量/列名称过滤R数据框并子设置R数据框的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在R中尝试了以下代码,但它变得非常冗长和笨拙。
setwd("")
abc<- read.table("abc.txt", header=TRUE)
new.abc<-data.frame(abc$ax3,abc$ax5,abc$ax5,abc$ax11,abc$ax19,
abc$bx3,abc$bx5,abc$bx5,abc$bx11,abc$bx19)
代码越来越长,因为我需要继续使用cx3、cx5、cx11、cx19、...、zx3、xz5、zx11、zx19。我正在寻找一种替代方法,可以避免这种冗长的编码。非常感谢您的帮助。
推荐答案
您可以通过编程方式创建列。如果他们遵循问题中提到的相同结构,我们可以
cols <- c(outer(paste0(letters, "x"), c(3, 5, 11, 19), paste0))
cols
#[1] "ax3" "bx3" "cx3" "dx3" "ex3" "fx3" "gx3" "hx3" "ix3" "jx3" "kx3"...
然后使用它来设置数据帧的子集
new.abc[, cols]
如果我们还想保持列顺序,可以使用gtools::mixedsort
new.abc[, gtools::mixedsort(cols)]
这篇关于根据选定的变量/列名称过滤R数据框并子设置R数据框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文