r - 将列值复制到新列
问题描述
我有一个数据框 BLUP,有
Location Value
A 3
B 5
C 10
我希望输出看起来像
Location Value1 Location2 Value2 Diff(Value2-Value1)
A 3 A 3 0
A 3 B 5 2
A 3 C 10 7
B 5 A 3 -2
B 5 B 5 0
B 5 C 10 5
C 10 A 3 -7
C 10 B 5 -5
C 10 C 10 0
我不确定如何在 R 中为更大的数据框创建这个输出表。任何建议都将不胜感激,因为我是 R 新手。
解决方案
这是你需要的吗?如果您已经拥有除最后一列之外的第一列,只需执行
mutate(Diff=Value2-Value1)
否则使用添加列mutate
。?cbind
你也可以看看
#Location1 and Value1 should already be in your data.
library(tidyverse)
BLUP %>%
rename(Location2=Location1,Value2=Value1) %>%
mutate(Location1=rep("A",3),Value1=rep(3,3),Diff=Value2-Value1) %>%
select(contains("1"),everything())
推荐阅读
- powershell - 使用 Powershell 将唯一 ID 添加到 CSV
- kdb - 优化/简洁 q kdb 中的条件代码
- javascript - 使用 javascript 解析 API 响应
- mysql - 如果值大于 0,则过滤不同的值(如果存在)
- django - 无法在 django rest 框架中导入名称
- python - Python 和 CSV 文件中的嵌套循环
- java - 单击 RecyclerView 项目时调用片段并将它们都显示在同一个活动中
- pandas - 根据熊猫中的dob和给定日期计算年龄,如果熊猫中缺少dob,则将年龄设为零
- python - AttributeError: _mock_methods 扩展 MagicMock 类时
- centos - 在 CentOs 中启动/启用 Issabel Web 服务器