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
2,5,16
3,1,6
3,2,7
3,3,8
3,4,12
3,5,13")
我想將 y 比例從當前的狀態轉移到從 0 開始的比例。現在,我已按“組”變數對這個資料集進行了分組。我試圖從每個組中找到最小的“Y”值,然后從每個組的“Y”列中的每個值中減去它。但是,這并沒有按預期作業。關于如何做到這一點的任何想法?謝謝你。
uj5u.com熱心網友回復:
這是一個非常簡單的用例dplyr::group_by。通過分組變數對 data.frame 進行分組后,當您使用min或maxin之類的函式時mutate,它們將被單獨呼叫(并應用于)該組。因此,如果我們說Y=Y-min(Y)它將找到每個組中的最小值,然后從該組中Y的值中減去它Y
library(dplyr)
x %>%
group_by(Group) %>%
mutate(Y=Y-min(Y))
Group X Y
<int> <int> <int>
1 1 1 0
2 1 2 3
3 1 3 6
4 1 4 7
5 2 1 0
6 2 2 3
7 2 3 7
8 2 4 9
9 2 5 15
10 3 1 0
11 3 2 1
12 3 3 2
13 3 4 6
14 3 5 7
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/526987.html
標籤:rdplyr
