Theory
એ ખાનાં જેને mean() અડી શકતું નથી
CampusPulse ના survey નો અડધો ભાગ લેબલ છે: શહેર, stay, તમે ફરી કોડ કરેલા વપરાશના પટ્ટા. mean(survey$city) અર્થહીન છે (એકમ 1 નો સૌથી જૂનો નિયમ).
છતાં લેબલ વિશેના ડીનના પ્રશ્નો સાવ આંકડાકીય છે: દરેક શહેરમાંથી કેટલા? શું છાત્રાલયવાસી ભારે વપરાશ તરફ ઢળે છે?
લેબલ ગણવાની ઓજારપેટી એ બે ગિયરવાળું એક function છે: એકલું table() એક variable ગણે છે; એને બે આપો અને એ cross-tabulation બાંધે છે: એ જાળી જ્યાંથી દરેક સામાજિક આંકડો શરૂ થાય છે.
Theory
લીટીની ગણતરી, પછી ગણતરીની જાળી
એક-માર્ગી કોષ્ટક: જાણીતું ગણતરીનું પાનું: forms વંચાય એમ દરેક શહેર નીચે એક લીટી: સુરત |||| ||, નવસારી |||.
Cross-tab: ગણતરીના ખાનાંની જાળી: હરોળ stay (hostel/day) છે, ખાનાં usage (heavy/normal) છે, અને દરેક form બરાબર એક ખાનામાં એક લીટી ઉમેરે છે. પૂરી થયેલી જાળી એવા સંબંધના પ્રશ્નોના જવાબ આપે છે જે કોઈ એક ગણતરીનું પાનું આપી શકતું નથી: એટલે જ એને પોતાનું નામ મળે છે.
Practical
ગણતરી, જાળી, પ્રમાણ
survey <- read.csv("survey_clean.csv") # city, stay, usage (recoded)
# ONE-WAY: frequency table of a categorical
table(survey$city)
# bardoli navsari surat
# 8 16 36
# sorted, most common first
sort(table(survey$city), decreasing = TRUE)
# TWO-WAY: the cross-tabulation (rows = 1st arg, cols = 2nd)
t <- table(survey$stay, survey$usage)
t
# heavy normal
# day 6 30
# hostel 14 10
# proportions: three DIFFERENT questions
prop.table(t) # share of ALL students per cell
prop.table(t, margin = 1) # within each ROW (each row sums to 1)
prop.table(t, margin = 2) # within each COLUMN
# formula spelling + totals
xtabs(~ stay + usage, data = survey)
addmargins(t) # adds row/column sums
Theory
margin: એ argument જે પ્રશ્ન બદલે છે
એ જ જાળી, પ્રમાણના ત્રણ પ્રશ્ન:
- prop.table(t): survey કરાયેલા બધા students માંથી કેટલો હિસ્સો દરેક ખાનામાં છે? (ખાનાંનો કુલ સરવાળો 1)
- margin = 1 (હરોળ): છાત્રાલયવાસીઓમાં, કેટલો હિસ્સો ભારે છે? દરેક હરોળ નો સરવાળો 1: stay નાં જૂથો પાર વપરાશ સરખાવે છે.
- margin = 2 (ખાનાં): ભારે વપરાશકારોમાં, કેટલો હિસ્સો છાત્રાલયવાસી છે? દરેક ખાનાનો સરવાળો 1.
Hરોળ 'hostel': margin = 1 સાથે 14/(14+10) = 58% ભારે. ડીનનો "શું છાત્રાલયવાસી ભારે તરફ ઢળે છે?" એ margin = 1 નો પ્રશ્ન છે: margin પસંદ કરવો એ જ વિશ્લેષણ છે.
Quiz
ઉપરની જાળીમાંથી (hostel: 14 ભારે, 10 સામાન્ય; day: 6 ભારે, 30 સામાન્ય), ડીન પૂછે છે: "કેટલા ટકા **છાત્રાલયવાસી** ભારે વપરાશકાર છે?" કઈ command અને કઈ સંખ્યા?
- prop.table(t, margin = 1): hostel ની હરોળ 14/24 ≈ 58% આપે છે
- prop.table(t, margin = 2): heavy નું ખાનું 14/20 = 70% આપે છે
- prop.table(t): 14/60 ≈ 23%
- table(t): કાચું 14 એ પહેલેથી ટકાવારી છે
Show the answer
prop.table(t, margin = 1): hostel ની હરોળ 14/24 ≈ 58% આપે છે
"છાત્રાલયવાસીઓમાંથી" એ હરોળને આખા તરીકે નક્કી કરે છે: હરોળ પ્રમાણેનું પ્રમાણ, margin = 1: 24 છાત્રાલયવાસીમાંથી 14 ≈ 58%. વિકલ્પ B ઊલટા પ્રશ્નનો જવાબ આપે છે (ભારે વપરાશકારોમાંથી કેટલા છાત્રાલયવાસી: 70%): જુદો, પણ એટલો જ માન્ય પ્રશ્ન જેને બેદરકાર વાચન અદલાબદલ કરે છે. વિકલ્પ C બધા સામે હિસ્સો કાઢે છે. Margin નું argument બરાબર ત્યાં જ છે જ્યાં આ ત્રણ પ્રશ્ન છૂટા પડે છે: પરીક્ષાઓ અને ખરેખરા અહેવાલ બંને એના પર ટકે છે.
Think first
જાળીને વિશ્લેષકની જેમ વાંચો
margin = 1 નું કોષ્ટક દેખાડે છે: hostel → heavy 0.58, normal 0.42; day → heavy 0.17, normal 0.83. Tap કરતાં પહેલાં: પ્રામાણિક એક વાક્યનું તારણ શું છે, અને એની સાથે કઈ સાવચેતી હોવી જ જોઈએ (એકમ 2 એ શીખવી હતી)?
Show the answer
તારણ: છાત્રાલયવાસી દિવસના વિદ્યાર્થી કરતાં ભારે વપરાશકાર હોવાની ઘણી વધુ શક્યતા છે (58% સામે 17%): stay અને usage વચ્ચે મજબૂત સહસંબંધ.
સાવચેતી: સહસંબંધ એ કારણભાવ નથી: છાત્રાલય ભારે વપરાશનું કારણ હોય એ જરૂરી નથી (ખાલી સાંજ, wifi ની પહોંચ, કે છાત્રાલય કોણ પસંદ કરે છે એ બંનેને ચલાવી શકે). Scatter-plot ના પાઠનો નિયમ જાળીઓને પણ લાગુ પડે છે: cross-tabs દેખાડે છે કે બે લેબલ સાથે ખસે છે, ક્યારેય કેમ એ નહીં.
Watch out
કોષ્ટકની લપસણ
પ્રમાણ પુછાયું હોય ત્યારે ગણતરી (અને ઊલટું): પ્રશ્નનું "કેટલા" સામે "કેટલો હિસ્સો" વાંચો.
margin ની ભેળસેળ: margin = 1 હરોળ, margin = 2 ખાનાં: હરોળની અંદરના પ્રશ્નો પરીક્ષાની સામાન્ય ભાષા છે.
NA ચૂપચાપ અદૃશ્ય થાય છે: table() default માં ખૂટતાં મૂલ્યો કાઢી નાખે છે: table(x, useNA = "ifany") એમને દેખાડે છે: હંમેશની જેમ કાણાં જણાવો.
Theory
Cross-tabs આગળ ક્યાં જાય છે
દરેક અભિપ્રાયનું poll ("ઉંમરના જૂથ પ્રમાણે સમર્થન"), દરેક તબીબી અભ્યાસ ("સારવાર પ્રમાણે પરિણામ"), દરેક ગ્રાહક છોડવાનો અહેવાલ ("plan પ્રમાણે રદ") એ ધંધાનાં કપડાં પહેરેલું cross-tab છે: અને પછીના semesters માં કદાચ મળનારી chi-square ની કસોટી એ ખાલી ઔપચારિક રીતે પૂછવાની રીત છે કે જાળીનો સહસંબંધ ખરેખરો છે કે નસીબ. pandas એમને value_counts() અને pd.crosstab() લખે છે: ચોથું ઓજાર, એ જ ગણતરીની જાળી.
Summary
Key takeaways
- table(x): એક શ્રેણીગત variable માટે આવૃત્તિની ગણતરી: લેબલના data નું mean().
- table(a, b): cross-tabulation ની જાળી: હરોળ = પહેલું argument, ખાનાં = બીજું.
- prop.table(t): એકંદર હિસ્સા; margin = 1 હરોળ પ્રમાણે, margin = 2 ખાનાં પ્રમાણે: margin જ પ્રશ્ન છે.
- xtabs(~ a + b, df) એ સૂત્રની જોડણી છે; addmargins() સરવાળા ઉમેરે છે.
- table() NA ચૂપચાપ કાઢી નાખે છે: એમને દેખાડવા useNA = 'ifany'.
- જાળીના સહસંબંધ એ કારણભાવ નથી.
- Memory hook: ગણતરીનું પાનું, પછી ગણતરીની જાળી.