R 是否有一个函数用于读取具有常规表达式的txt文件
我有一个当前行格式的txt文件R 是否有一个函数用于读取具有常规表达式的txt文件,r,R,我有一个当前行格式的txt文件 1\t[2,3,4,5,6,45] 2\t[4,4,4,4,4,4,4,43,5] etc 我想把它读作data.frame,其中列名称是行数,值是括号中的数字 1 2 2 4 3 4 5 4 一种选择是使用readLines读取,然后进行转换 library(dplyr) library(stringr) library(purrr) str_extract_all(v1, "\\d+") %>% map(`[`,-1) %>%
1\t[2,3,4,5,6,45]
2\t[4,4,4,4,4,4,4,43,5]
etc
我想把它读作data.frame,其中列名称是行数,值是括号中的数字
1 2
2 4
3 4
5 4
一种选择是使用
readLines
读取,然后进行转换
library(dplyr)
library(stringr)
library(purrr)
str_extract_all(v1, "\\d+") %>%
map(`[`,-1) %>%
reduce(rowr::cbind.fill, fill = NA) %>%
set_names(str_extract(v1, "\\d+"))
# 1 2
#1 2 4
#2 3 4
#3 4 4
#4 5 4
#5 6 4
#6 45 4
#7 <NA> 4
#8 <NA> 43
#9 <NA> 5
库(dplyr)
图书馆(stringr)
图书馆(purrr)
str_extract_all(v1,“\\d+”)%>%
地图(`[`,-1)%>%
减少(行::cbind.fill,fill=NA)%>%
设置名称(str提取(v1,\\d+))
# 1 2
#1 2 4
#2 3 4
#3 4 4
#4 5 4
#5 6 4
#6 45 4
#7 4
#8 43
#9 5
数据
v1从输入开始
x <- '
1\t[2,3,4,5,6,45]
2\t[4,4,4,4,4,4,4,43,5]
'
x发布的示例中的列具有不同的长度,您希望结果如何以表格形式显示?将较短的填充到最长的长度?
x <- '
1\t[2,3,4,5,6,45]
2\t[4,4,4,4,4,4,4,43,5]
'
library(data.table)
x <-
fread(gsub('\\[|\\]', '', x))[, .(value = strsplit(V2, ',')[[1]]), V1]
dcast(x, rowid(V1) ~ V1)[, -'V1']
# 1 2
# 1: 2 4
# 2: 3 4
# 3: 4 4
# 4: 5 4
# 5: 6 4
# 6: 45 4
# 7: <NA> 4
# 8: <NA> 43
# 9: <NA> 5