首页 > 解决方案 > 在 R 中是否有可能通过添加两个数据框我们得到结果,即使相同类型的其他值不存在?

问题描述

我有 2 个列数相同但行数不同的数据框。X 在此处输入图像描述

y 在此处输入图片描述

现在,当我尝试减去 y[,c(1,2)]-x[,c(4,3)] 时,在 Ops.data.frame(y[, c(1, 2)], x 中出现错误错误[, c(4, 3)]) : '-' 只为同样大小的数据帧定义 我发现这是因为 x 中缺少一些类型和连线

所以我的目标是,可以将对应的值假设为 0,而不是 x 数据帧中的缺失类型和连线,并将结果返回为 y-0=y

标签: r

解决方案


您正在按列对 data.frames 进行子集化。使用方括号进行子集化时,逗号之前的值用于行。逗号后面的值是列。您y[, c(1:2] - x[, c(3:4]正在尝试从 x 中的第 1 列和第 2 列中减去 y 中的第 3 列和第 4 列。由于列的长度不同,因此失败。


推荐阅读