【问题标题】:Subtracting two columns inside lists of data frames在数据框列表中减去两列
【发布时间】:2020-06-09 21:50:28
【问题描述】:

我有一个数据框列表,其中包含 10 列数据和一个空列,我希望在其中拥有“第 5 列 - 第 10 列”。我试过了:

lapply(GraphData, function(x){ x[,11] <- x[,5] - x[,10]})

GrpahData[,11] <- GraphData[,5] - GraphData[,10]

但是我收到了这个错误:

x[, 5] : 下标越界

GraphData[, 5] : 维数不正确 分别。

我怀疑问题是某些行的两列都没有值,有没有一种好方法可以告诉代码忽略这些行

An example of the data as requested

任何帮助将不胜感激,谢谢

A part of str(GraphData) AS REQUESTED

【问题讨论】:

  • 可以发str(GraphData)

标签: r list dataframe subtraction subscript


【解决方案1】:

我们需要返回“x”,即数据集。在 OP 的输出中,只返回分配的列输出

lapply(GraphData, function(x){ x[,11] <- x[,5] - x[,10]; x})

【讨论】:

  • 仍然出现下标越界错误
  • @NatashaJones 你的帖子说have a list of dataframes which contains 所以我假设'GraphData' 是data.frames 的列表
  • 是的,它是问题中解释的 data.frames 列表
  • @NatashaJones 你的第一行代码有错误吗lapply(GraphData, function(x){ x[,11] &lt;- x[,5] - x[,10]})
  • 是的,问题中详述的两个选项和您最重要的选项都会出错
【解决方案2】:

只是想如果有人愿意我会更新这个,代码让我应用代码

lapply(GraphData[1:168], function(x){ x[,11] &lt;- x[,5] - x[,11]; x})

只要我使用 [1:168] 没有这个它就不起作用

【讨论】:

    猜你喜欢
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-07
    相关资源
    最近更新 更多