gpt4 book ai didi

r - 使用来自不同数据框的内容操作数据框,类似于 SQL 连接

转载 作者:行者123 更新时间:2023-12-01 13:46:43 24 4
gpt4 key购买 nike

假设我有一个包含内容的数据框:

Trial Person Time
1 John 1.2
2 John 1.3
3 John 1.1
1 Bill 2.3
2 Bill 2.5
3 Bill 2.7

另一个数据框的内容:

Person Offset
John 0.5
Bill 1.0

我想根据第二帧的适当值修改原始帧。我可以用任何其他语言或 SQL 轻松地完成此操作,并且我确信我可以使用 for 循环等进行管理,但是对于我在 R 中看到的其他所有内容,我猜它有特殊的语法来作为一个整体来完成此操作-衬垫。那么,如果是这样,怎么办?如果没有,您能否展示如何使用循环来完成它。我实际上还没有抽出时间来学习 R 中的循环,因为它具有令人惊奇的功能,可以简单地提取和操作任何值。

作为引用,输出将:

Trial Person Time
1 John 0.7
2 John 0.8
3 John 0.6
1 Bill 1.3
2 Bill 1.5
3 Bill 1.7

最佳答案

有很多可能性。这是一个使用 merge() 的简单方法,并在放大的 data.frame 中进行简单的逐列减法:

R> DF1 <- data.frame(trial=rep(1:3,2), \
Person=rep(c("John","Bill"), each=3), \
Time=c(1.2,1.3,1.1,2.3,2.5,2.7))
R> DF2 <- data.frame(Person=c("John","Bill"), Offset=c(0.5,1.0))
R> DF <- merge(DF1, DF2)
R> DF
Person trial Time Offset
1 Bill 1 2.3 1.0
2 Bill 2 2.5 1.0
3 Bill 3 2.7 1.0
4 John 1 1.2 0.5
5 John 2 1.3 0.5
6 John 3 1.1 0.5
R> DF$NewTime <- DF$Time - DF$Offset
R> DF
Person trial Time Offset NewTime
1 Bill 1 2.3 1.0 1.3
2 Bill 2 2.5 1.0 1.5
3 Bill 3 2.7 1.0 1.7
4 John 1 1.2 0.5 0.7
5 John 2 1.3 0.5 0.8
6 John 3 1.1 0.5 0.6
R>

关于r - 使用来自不同数据框的内容操作数据框,类似于 SQL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com