x <- read.csv(text="Group,X,Y
1,1,2
1,2,5
1,3,8
1,4,9
2,1,1
2,2,4
2,3,8
2,4,10
3,1,6
3,2,7
3,3,8
3,4,12")

我的目标是将组1,Y减go 组1,Y,组2,Y和组3,Y.因此,结果数据帧如下所示

x <- read.csv(text="Group,X,Y,Z
1,1,2,0
1,2,5,0
1,3,8,0
1,4,9,0
2,1,1,-1
2,2,4,-1
2,3,8,0
2,4,10,1
3,1,6,4
3,2,7,2
3,3,8,0
3,4,12,3")

我怎样才能做到这一点呢?我做了一些大致如下的事情:

        group_by(Group) %>%
        mutate(Z = dataset2[Group != 1]-dataset2[Group == 1])```

推荐答案

你不需要group_by,你可以像这样用Y[Group == 1]减go 第Y列:

library(dplyr)
x %>%
  mutate(Z = Y - Y[Group == 1])
#>    Group X  Y  Z
#> 1      1 1  2  0
#> 2      1 2  5  0
#> 3      1 3  8  0
#> 4      1 4  9  0
#> 5      2 1  1 -1
#> 6      2 2  4 -1
#> 7      2 3  8  0
#> 8      2 4 10  1
#> 9      3 1  6  4
#> 10     3 2  7  2
#> 11     3 3  8  0
#> 12     3 4 12  3

创建于2022-11-16年第reprex v2.0.2

R相关问答推荐

如何使用R Shiny中的条件面板仅隐藏和显示用户输入,同时仍允许运行基础计算?

查找图下的面积

判断字符串中数字的连续性

在R中替换函数中的特定符号

如何得到R中唯一的组合群?

如何直接从R中的风险分数计算c指数?

即使硬币没有被抛出,也要保持对其的跟踪

如何读取CSV的特定列时,给定标题作为向量

根据列表中项目的名称合并数据框和列表

基于Key->Value数据帧的基因子集相关性提取

在带有`R`中的`ggmosaic`的马赛克图中使用图案而不是 colored颜色

访问数据帧中未定义的列时出现R错误

当由base::限定时,`[.factor`引发NextMethod错误

在ggplot2图表中通过端点连接点

重写时间间隔模糊连接以减少内存消耗

reshape 数据帧-基于组将行转换为列

为什么在POSIXct-times的向量上循环会改变R中的类型?

使用卡环从R中的列中删除单位(&C)

如果y中存在x中的值,则将y行中的多个值复制到相应的x行中

判断R中多个数据帧中的公共ID