![](/img/trans.png)
[英]Using apply functions to perform different operations for each column in a data frame
[英]How can I perform different operations in the same column of data frame?
我正在使用 R 來分析數據。 我有一個有序的分組時間序列,顯示樣本在不同時間的亮度,從 0 開始
團體 | 時間 | 亮度 | 保留 |
---|---|---|---|
一種 | 0 | 100 | 北美 |
一種 | 50 | 70 | = 70 /100 |
一種 | 100 | 20 | = 20/100 |
乙 | 0 | 90后 | 北美 |
乙 | 50 | 80 | = 80 /90 |
乙 | 100 | 50 | = 50/90 |
要計算保留時間,我必須除以該組在時間 0 時的亮度。 但是整個表中有多個時間零點。 我嘗試使用 for 循環,但由於數據的長度,這需要大約 15 秒才能運行; 我正在尋找更有效的方法。
感謝您的幫助:)
您可以使用ifelse
來計算Retention
on Time
不等於 0。
library(dplyr)
df %>%
group_by(Group) %>%
mutate(Retention = ifelse(Time != 0, Brightness/Brightness[Time == 0], NA))
# A tibble: 6 × 4
# Groups: Group [2]
Group Time Brightness Retention
<chr> <int> <int> <dbl>
1 A 0 100 NA
2 A 50 70 0.7
3 A 100 20 0.2
4 B 0 90 NA
5 B 50 80 0.889
6 B 100 50 0.556
df <- structure(list(Group = c("A", "A", "A", "B", "B", "B"), Time = c(0L,
50L, 100L, 0L, 50L, 100L), Brightness = c(100L, 70L, 20L, 90L,
80L, 50L)), class = "data.frame", row.names = c(NA, -6L))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.