मैं कई कारकों से कई चर से डेटा सारांशित करने के लिए ddply का उपयोग करना चाहता हूं।आर ddply लूपिंग; कई कारक
site block plot rep name weight height dtf
Alberta 1 2 1 A 43 139 54
Alberta 2 5 2 A 46 139 46
Alberta 4 10 3 A 49 136 54
Nunavut 1 1 1 A 49 136 59
Nunavut 2 4 2 A 51 135 50
Nunavut 3 8 3 A 52 133 56
Alberta 5 13 1 B 55 132 50
Alberta 4 12 2 B 55 125 46
Alberta 5 15 3 B 56 120 46
Nunavut 5 14 1 B 57 119 54
Nunavut 5 13 2 B 58 119 55
Nunavut 4 11 3 B 59 118 51
...
और इतने पर:
मैं निम्नलिखित परीक्षण डेटा है।
मैं चर "वजन", "ऊंचाई", "डीटीएफ" चर लेना चाहता हूं, और कारकों "साइट" और "नाम" के अनुसार उन्हें सारांशित करना चाहता हूं।
मैं स्तंभ नाम के वैक्टर के साथ शुरू किया:
data.factors <- NULL
data.variables <- NULL
for(n in 1:length(data)){if(is.factor(data[[n]])){ data.factors <- c(data.factors,colnames(data[n]))} else next}
for(n in 1:length(data)){if(is.numeric(data[[n]]) || is.integer(data[[n]])){ data.variables <- c(data.variables,colnames(data[n]))} else next}
यह कई एकल कारक anovas प्रदर्शन के लिए काम किया:
for(variables in data.variables){
for(factors in data.factors){
output1 <- aov(lm(data[[variables]]~data[[factors]]))
cat(variables)
cat(" by ")
cat(factors)
cat("\n")
print(summary(output1))
}}
लेकिन मैं इसे ddply के साथ काम करने के लिए नहीं मिल सकता है।
site name N min max mean sd se
1 Alberta A 1 weight weight NA NA NA
2 Alberta B 1 weight weight NA NA NA
3 Alberta C 1 weight weight NA NA NA
4 Alberta D 1 weight weight NA NA NA
5 Alberta E 1 weight weight NA NA NA
6 Nunavut A 1 weight weight NA NA NA
7 Nunavut B 1 weight weight NA NA NA
8 Nunavut C 1 weight weight NA NA NA
9 Nunavut D 1 weight weight NA NA NA
10 Nunavut E 1 weight weight NA NA NA
....
थे मैं ddply एक एकल चर (सीधे बजाय कि के माध्यम से "x" संदर्भित में टाइप) यह ठीक काम करेगा इसका परीक्षण करना:
for (x in data.variables){
variable.summary <- ddply(data, .(site,name), summarise,
N = sum(!is.na(x[1])),
min = min(x[1], na.rm=TRUE),
max = max(x[1], na.rm=TRUE),
mean = mean(x[1], na.rm=TRUE),
sd = sd(x[1], na.rm=TRUE),
se = sd/sqrt(N)
)
print(variable.summary)
}
सभी मैं पीछा कर रहा है।
क्या संदर्भित कॉलम आईडी को पहचानने के लिए फ़ंक्शन प्राप्त करने की कोई चाल है? मैं PERL करने के लिए इस्तेमाल कर रहा हूँ, अपने $ Scalars कि कहीं भी संदर्भित किया जा सकता है, और उम्मीद कर रही थी इसी तरह की प्रणाली आर