1
嗨我有什麼可能是一個非常簡單的問題,但我不明白。我正在使用ddply創建要在ggplot2中使用的數據框。ddply生成數據幀不分級
這裏被截斷我的數據:
Subject Group Day gkg Strain
PE4 E 1 0.829556075 P
PE5 E 1 0.871823204 P
PE6 E 1 1.135461255 P
PS4 S 1 3.316062176 P
PS5 S 1 2.61627907 P
PS6 S 1 3.286004057 P
WE4 E 1 0.154101563 W
WE6 E 1 1.317852495 W
WS4 S 1 2.007434944 W
WS5 S 1 1.28 W
PE4 E 2 0.642209302 P
PE5 E 2 0.502644788 P
PE6 E 2 1.319834559 P
PS4 S 2 3.350515464 P
PS5 S 2 2.994241843 P
PS6 S 2 3.507014028 P
WE4 E 2 0.109366337 W
WE5 E 2 0.493125 W
WE6 E 2 0.721960784 W
WS4 S 2 2.542056075 W
WS5 S 2 1.23752495 W
我創造了這個數據的一個子集,基於E或S
Edata = which(data$Group == "E")
e = data[Edata,]
Sdata = which(data$Group == "S")
s= data[Sdata,]
組然後我試圖使用ddply創建包括一個數據幀平均值,標準偏差,平均值的標準誤差
newdataIntakeEGKG = ddply(e, .(e$Strain, e$Day), summarise,
N = sum(!is.na(e$gkg)),
mean = mean(e$gkg, na.rm = TRUE),
sd = sd(e$gkg, na.rm = TRUE),
se = sd(e$gkg, na.rm = TRUE)/sqrt(sum(!is.na(e$gkg))))
這將生成以下輸出:
e$Strain e$Day N mean sd se
1 P 1 60 0.630856 0.3593886 0.04639687
2 P 2 60 0.630856 0.3593886 0.04639687
3 P 3 60 0.630856 0.3593886 0.04639687
4 P 4 60 0.630856 0.3593886 0.04639687
5 W 1 60 0.630856 0.3593886 0.04639687
6 W 2 60 0.630856 0.3593886 0.04639687
7 W 3 60 0.630856 0.3593886 0.04639687
8 W 4 60 0.630856 0.3593886 0.04639687
當我手工計算時,我學會了將兩個菌株的平均值結合起來。我哪裏做錯了?
感謝這麼多的工作!我不需要'e $',因爲我用'(e,..)'指定數據集? – Stella
是的,沒錯。事實上,通過指定'e $',你會混淆ddply:它將根據整個數據幀「e」計算均值和SD,而不是由分組變量定義的子集。 –