r - 按顺序读取多个 txt 文件并将它们组合成一个数据帧,但在 r 中标记新生成的数据帧中每一行的来源
问题描述
我有 6 个 txt 文件,我想将它们组合成 1 个数据框。我知道如何同时阅读它们并以默认方式组合它们。我在这个网站上学会了这样做:
txt_files_ls = list.files(path=mypath, pattern="*.txt")
txt_files_df <- lapply(txt_files_ls, function(x) {read.table(file = x, header = T, sep ="\t")})
# Combine them
combined_df <- do.call("rbind", lapply(txt_files_df, as.data.frame))
现在我要做的是设置 read.table 以按照我定义的顺序读取 txt 文件,这样在组合它们之后,我将能够用它们的原始 txt 文件名的名称标记行。谢谢
解决方案
你可以试试这个:
txt_files_ls = list.files(path=mypath, pattern="*.txt")
#The function for reading
read.data <- function(x)
{
y <- read.table(file = x, header = T, sep ="\t")
y$var <- x
return(y)
}
#Read data
txt_files_df <- lapply(txt_files_ls,read.data)
# Combine them
combined_df <- do.call("rbind", lapply(txt_files_df, as.data.frame))
其中var
包含每个文件的名称。
推荐阅读
- javascript - 初始化后如何按列对数据表进行分组
- javascript - mac os上的滚动问题
- php - 从一个查询中添加一个结果,然后从另一个查询中添加第二个结果
- python - subprocess.check_output中的“git”,“remote”,“-v”是什么意思?
- java - 将 Lombok 插件添加到 IntelliJ
- ios - 如何自定义activityController Swift
- javascript - 使用 turn.js 在图像上映射图像区域
- excel - 我有两个文件夹,里面装满了名称相同但内容不同的文件。如何匹配它们以将数据从一个文件复制到另一个文件?
- c - 使用带有 MACROS 的 Switch
- javascript - 使 getDerivedStateFromProps 在 props 更新时表现得像 componentDidMount