r - 在 r 中插入不同大小的数据帧
问题描述
我有 2 个不同大小的数据集,但第一列中的数据是这样的
x <- data.frame(cbind(c(1,2,3,4,5,6,7,8,9,10),c(1,4,3,2,5,4,6,7,1,3)))
y <- data.frame(cbind(c(0,2,4,6,8,10),c(6,5,4,7,5,4)))
> x
X1 X2
1 1 1
2 2 4
3 3 3
4 4 2
5 5 5
6 6 4
7 7 6
8 8 7
9 9 1
10 10 3
> y
X1 X2
1 0 6
2 2 5
3 4 4
4 6 7
5 8 5
6 10 4
我一直在尝试使用 approx 函数对 y 中的 X2 进行插值,但我无法找到具有不同列大小的示例。
解决方案
您可以merge
y
使用公共列x
并将approx
其作为xout
.
data.frame(X1=x$X1, X2=approx(merge(x["X1"], y, all=T)[,2], xout=x$X1)$y)
# X1 X2
# 1 1 6.0
# 2 2 5.5
# 3 3 5.0
# 4 4 4.5
# 5 5 4.0
# 6 6 5.5
# 7 7 7.0
# 8 8 6.0
# 9 9 5.0
# 10 10 4.5
推荐阅读
- javascript - 如何在 Visual Studio 2019 中设置 html + javascript 项目并使用 IIS Express
- html - 如何使用 Angular 8 检索用户关注的 Spotify API?
- swiftui - 设置 ObservableObject 时地图不显示
- swift - 可解码:无法推断通用参数“T”
- ruby-on-rails - 如何仅在 Rails 和 postgres 中过滤记录使用日期
- flutter - 未使用 ChangeNotifier 设置用户?
- node.js - 在节点中构建项目时如何将 .env 和其他文件放在 dist 文件夹中?
- c# - LINQ to SQL - 查询包含对在不同数据上下文中定义的项目的引用。
- javascript - 使用它们的十六进制代码混合两种颜色
- apache-camel - Apache camel:从多个频道(比如 2 个 pubsub 主题)轮询,然后将消息汇总为一条消息