我想用fread
函数仅读取符合条件的列。(在这种情况下,我想读取所有包含标签email
的列。)假设您有一个名为tempdata.txt
的文件,保存在您的工作目录中:
col1,col2,col3,email1,email2,col4,url1,url2,col5
1,2,3,4,5,6,7,8,9
9,8,7,6,5,4,3,2,1
x,x,x,me@me.com,you@you.com,y,y,y,y
a,a,a,a,a,a,http://google.com,http://stackoverflow.com,a
如果你知道列的名称,可以使用fread
来加载子集:
test <- data.table::fread("tempdata.txt", select=c("email1","email2"))
> test
email1 email2
1: 4 5
2: 6 5
3: me@me.com you@you.com
4: a a
可以使用字符串匹配进行选择吗?我试图模仿这种行为,但是要在fread
命令中实现:
> all <- data.table::fread("tempdata.txt")
> all %>% select(contains("email"))
email1 email2
1: 4 5
2: 6 5
3: me@me.com you@you.com
4: a a
感谢任何见解。
nrows=0
仅获取列名。 - MichaelChirico