我想知道如何选择标题中包含单词的列
我有一个像这样的文件,我想获取包含单词param1,param2的列。
fileV1.txt
v1.param1 v1.param2 other.param
value value value
fileV2.txt
v2.param1 v2.param2 otherParam
value value value
#selectCol <- c("param1", "param2")
#dt.v1 <- data.table::fread(path.v1, select = selectCol, fill = T, header = T)
#dt.v2 <- data.table::fread(path.v2, select = selectCol, fill = T, header = T)
答案 0 :(得分:0)
您可以使用
library(dplyr)
select(DT, matches("param[0-9]+"))
您必须用数据框/表的名称替换DT
。
示例:
DT = data.table(v2.param1= 1, v2.param2= 2, otherParam= 3)
select(DT, matches("param[0-9]+"))
v2.param1 v2.param2
1: 1 2
编辑
如果我理解您的评论,那么您只想从文件中加载列V2.param1
和V2.param2
。在这种情况下,您的代码想法对我有用:
library(data.table)
DT = data.table(v2.param1= 1, v2.param2= 2, otherParam= 3)
write.csv(DT, file = "MyData.csv")
selectCol <- c("v2.param1", "v2.param2")
fread(paste0(getwd(), "/MyData.csv"), select= selectCol, fill = T, header = T)
答案 1 :(得分:0)
这有效:
library(dplyr)
selectCol <- c("param1", "param2")
dt.v1 <- data.table::fread(path.v1) %>%
select(matches(paste(selectCol, collapse = "|")))