दिलचस्प पोस्ट
जावास्क्रिप्ट में नए जोड़े गए तत्व के लिए onclick घटना जोड़ें कॉल लॉग के लिए एक सामग्रीऑब्सर्वर कैसे कार्यान्वित करें Google मानचित्र एपीआई v3: इन्फोवंडो सही ढंग से आकार नहीं ले रहा है डोज्ड बारप्लॉट पर स्थिति geom_text node.js, SSL के साथ socket.io सभी जांच चेकबॉक्स कैसे प्राप्त करें एक्लिप्स एंड्रॉइड प्रोजेक्ट में जेयूनिट 4 टेस्ट केस नहीं चला सकते C # में DateTime के लिए स्ट्रिंग पार्स करें HTML तालिका में लंबवत (घुमाए गए) पाठ सीएसएस वर्टिकल सेंटरिंग यूआईएलबल में पाठ की कई पंक्तियाँ सी # एचटीटीपीएलस्टनर के साथ यूआरएल मैपिंग झुकाव ने अस्वीकृति पर गुजरने का वादा किया जावा में क्षणिक फ़ील्ड क्यों हैं? UIPageViewController: वर्तमान दृश्य दृश्य लौटाएं

क्या डीप्टर हर एक को सूचीबद्ध किए बिना कई चर पर संक्षेप कर सकता है?

dplyr आश्चर्यजनक तेज है, लेकिन मुझे आश्चर्य है कि मुझे कुछ याद आ रही है: क्या यह कई चर पर संभव है उदाहरण के लिए:

library(dplyr) library(reshape2) (df=dput(structure(list(sex = structure(c(1L, 1L, 2L, 2L), .Label = c("boy", "girl"), class = "factor"), age = c(52L, 58L, 40L, 62L), bmi = c(25L, 23L, 30L, 26L), chol = c(187L, 220L, 190L, 204L)), .Names = c("sex", "age", "bmi", "chol"), row.names = c(NA, -4L), class = "data.frame"))) sex age bmi chol 1 boy 52 25 187 2 boy 58 23 220 3 girl 40 30 190 4 girl 62 26 204 dg=group_by(df,sex) 

इस छोटे डाटाफ्रेम के साथ, यह लिखना आसान है

 summarise(dg,mean(age),mean(bmi),mean(chol)) 

और मुझे पता है कि जो कुछ मैं चाहता हूं वह प्राप्त करने के लिए, मैं पिघल सकता हूं, साधन प्राप्त कर सकता हूं, और फिर इस तरह के रूप में तैयार कर सकता हूं

 dm=melt(df, id.var='sex') dmg=group_by(dm, sex, variable); x=summarise(dmg, means=mean(value)) dcast(x, sex~variable) 

लेकिन अगर मेरे पास> 20 चर और बहुत बड़ी पंक्तियाँ हैं क्या डेटा में कुछ एसडी है, जो मुझे समूहीकृत डेटा फ्रेम में सभी चर के साधन लेने की इजाजत देता है? या, क्या किसी भी तरह समूहीकृत डेटा फ़्रेम पर लापरवाही करना संभव है?

किसी भी मदद के लिए धन्यवाद

Solutions Collecting From Web of "क्या डीप्टर हर एक को सूचीबद्ध किए बिना कई चर पर संक्षेप कर सकता है?"

data.table मुहावरे lapply(.SD, mean) , जो है

 DT <- data.table(df) DT[, lapply(.SD, mean), by = sex] # sex age bmi chol # 1: boy 55 24 203.5 # 2: girl 51 28 197.0 

मैं एक बात के लिए एक dplyr मुहावरे के बारे में निश्चित नहीं हूँ, लेकिन आप ऐसा कुछ कर सकते हैं

 dg <- group_by(df, sex) # the names of the columns you want to summarize cols <- names(dg)[-1] # the dots component of your call to summarise dots <- sapply(cols ,function(x) substitute(mean(x), list(x=as.name(x)))) do.call(summarise, c(list(.data=dg), dots)) # Source: local data frame [2 x 4] # sex age bmi chol # 1 boy 55 24 203.5 # 2 girl 51 28 197.0 

ध्यान दें कि एक plyr अंक # 178 है, जो कि plyr colwise को dplyr में प्रभावी ढंग से लागू करता है।

dplyr अब summarise_each :

 df %>% group_by(sex) %>% summarise_each(funs(mean))