[英]Loop through one column with unique values, and group by another to calculate the variance
有人可以幫我解決這個問題。 我有一個如下的數據框:
Scores ID Value
M1 A 5.67
M1 A 9.99
M2 A 10.96
M1 A 7.89
M1 B 9.36
M3 A 4.56
M2 A 5.55
M1 B 8.97
在這個數據集中,分數是細胞類型,每個細胞類型的 ID 重復(即 M1 有 3 個 As)我想遍歷每個分數(細胞類型),然后計算每個重復 ID 的分數的方差(在這種情況下 A)。 所以基本上我正在測量每個 ID 內每個分數的可變性(而不是介於兩者之間)。
下面是我想到的代碼,但是.csv文件中的所有值都具有相同的output。
for (i in df1$scores) {
T1 <- aggregate(value ~ ID, df1, function(x) c(Var = var(x), Count = length(x)))
T1
write.csv(T1,file=paste0(i,"_withinID.csv"))
}
提前致謝!
在這里,我們需要遍歷“分數”的unique
值,並且aggregate
應該基於數據的subset
for(i in unique(df1$scores)) {
T1 <- aggregate(value ~ ID, subset(df1, scores == i),
function(x) c(Var = var(x), Count = length(x)))
write.csv(T1, file = paste0(i, "_withinID.csv"))
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.