【发布时间】:2021-06-01 09:42:38
【问题描述】:
我想在每个 data.frames 列表中创建第二列,它只是第一列的副本,然后输出这些 data.frames:
存储数据帧:
> FileList <- list(DF1, DF2)
为每个数据框添加另一列:
> ModifiedDataFrames <- lapply(1:length(FileList), function (x) {FileList[[x]]$Column2 == FileList[[x]]$Column1})
但ModifiedDataFrames[[1]] 只返回一个列表,其中包含我认为来自 DF1$Column1 的内容
我在这里错过了什么?
【问题讨论】:
-
您的函数应该返回更新后的 data.frame。当您进行分配时,只返回右手术语,而不是 data.frame。您可以将
return(FileList[[x]])添加到您的函数中。如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。 -
@MrFlick 好的,因为您需要指定 sapply 应该返回的内容,否则它只会从函数运行中返回标准。所以在这种情况下它只是返回
FileList[[x]]$Column1
标签: r dataframe loops apply sapply