我想从多个表的列表中删除顶部(标题)行

Posted

技术标签:

【中文标题】我想从多个表的列表中删除顶部(标题)行【英文标题】:I'd like to delete the top (header) row from a list of multiple tables 【发布时间】:2015-03-19 19:02:40 【问题描述】:

我使用 list.files(path, pattern=".csv") 从目录中读取多个 .csv 文件,然后使用 lapply(data, read.csv) 将它们作为 R 中的表列表打开。标题已附加(就像它们是数据的一部分)&我想从列表中的每个表中删除第一行以消除它们并制作我自己的标题。 当我使用 lapply(data[-1,]) 一次读取 1 个文件时,我能够做到这一点,但现在它不适用于表列表。 我必须先将它们变成数据框吗? 如果是这样,我不确定如何在数据框中解决这个问题..? 提前谢谢

【问题讨论】:

lapply(data, read.csv, skip = 1) 工作吗? 附加了一个 x。在第一行中的每个“单元格”数据之前.. x.value x.value.. lapply(data, read.csv, skip = 1, header = FALSE) 谢谢你! lapply(data, read.csv, skip = 1, header = FALSE)效果很好! 【参考方案1】:

假设您要更改目录中文件的标题,然后将它们附加在一起:

myfun <- function(x) 
  dataset <- fread(x,header=TRUE, sep=",")
  setnames(dataset,c("Name1","Name2"))
  return(dataset)


data <- rbindlist(lapply(list.files(),myfun))

【讨论】:

以上是关于我想从多个表的列表中删除顶部(标题)行的主要内容,如果未能解决你的问题,请参考以下文章

删除行后更新 indexPath 值

我想从列表视图中删除一个项目

如何删除两个大表的析取行?

我想从数据库中删除行,我的代码正在工作并删除行然后停止,我没有更改代码中的任何内容? [关闭]

如何根据多个条件并使用 linq 从通用列表中删除项目

如何在 python 中删除表的某些行? [复制]