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 與第 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])```
uj5u.com熱心網友回復:
你不需要 a ,你可以像這樣group_by
減去列:Y
Y[Group == 1]
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/534899.html
標籤:rdplyr
上一篇:如何將csv轉換為json