【问题标题】:Keep name into list [duplicate]将名称保留在列表中[重复]
【发布时间】:2018-05-25 06:02:27
【问题描述】:

我正在上传包含相同类型信息但值不同的多个文件。然后我创建一个列表来更轻松地管理数据:

filenames <- list.files(path = "D:/Paths",
                        pattern = "path-+.*txt")

paths &lt;- lapply(filenames, function(x) read.delim(x, header=F))

但是,一旦我执行第二个命令,paths 的名称就会消失,有什么建议可以将每个数据框的名称保留在 list() 中吗?

【问题讨论】:

  • 尝试使用setNames 或names 即names(paths) &lt;- filenames
  • 具体可以lapply(setNames(, filenames), function(x) ...)
  • 我正在尝试to do what they explain in this link,但名称不断消失。我尝试了您的建议,但出现以下错误:Error in match.fun(FUN) : argument "FUN" is missing, with no default

标签: r


【解决方案1】:

使用sapply 默认保留名称。也不需要匿名函数,您可以像这样通过... 传递header = F:

paths = sapply(filenames, read.delim, header = F, simplify = FALSE)

(simplify = FALSE 确保您获得list 输出,就像lapply 一样。)

【讨论】:

  • 有效!非常感谢格雷戈尔!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-19
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-17
  • 2021-01-30
相关资源
最近更新 更多