繁体   English   中英

在 R 中,如何通过名称中包含的字符串从数据框中选择变量 - 要么/或

[英]In R, how do I select variables from a data frame by string contained in names - either/or

我知道如何根据包含一个定义字符串的列名从大型 data.frame 中选择变量,如下所示:( 如何在名称包含特定字符串的 R 数据框中选择变量?

但是如何从包含一个字符串或另一个字符串的对象中选择列?

我宁愿不必拆分和重新组合 df,这样列就可以保持原来的顺序。

这是我的示例代码,使用grep获取仅匹配第一个字符串的变量,效果很好:

df[grep("top",names(df),fixed=TRUE)]

grep 不会采用逻辑运算符。 那么如何选择列名中带有“base”的第二组列呢?

这应该有效:

df[grep("base",colnames(df))[2]]

或者,以更准确且不易出错的方式:

df[,grep("base",colnames(df))[2],drop=FALSE]

在这两种情况下,行尾的 [2] 指定您请求df的第二列,该列的名称中包含字符串“base”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM