Read, write and view data using data frames

Data frame એ R નું કોષ્ટક છે: data.frame() થી બનાવો, str/head/summary/View થી તપાસો, dim/nrow/ncol થી માપો, અને write.csv(row.names = FALSE) થી પાછું સાચવો.

9 min read · 9 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

એ આકાર જેમાં આંકડાશાસ્ત્ર ખરેખર વસે છે

Vectors એક એક ખાનું વહન કરતાં હતાં. પણ CampusPulse નું survey ચાર ખાનાં પહોળું છે: roll (સંખ્યાઓ), city (લખાણ), stay (શ્રેણીઓ), screen time (સંખ્યાઓ): જુદા પ્રકારો, સાથે પ્રવાસ કરતાં, દરેક student દીઠ એક હરોળ.

એના માટે R નું પાત્ર છે data frame: એ પ્રકાર જે read.csv તમને પહેલેથી આપી ચૂક્યું છે, pandas ના DataFrame નો પૂર્વજ, અને એ આકાર જેને આ વિષયનો દરેક બાકીનો પાઠ સંભાળે છે.

આજે: એક બનાવવું, તપાસવું, માપવું, અને સાચવવું: રોજિંદી ક્રિયાઓ.

Theory

સ્ટેપલ કરેલાં vectors નું રજિસ્ટર

વર્ગનું રજિસ્ટર કલ્પો: એક ખાનું roll numbers નું, એક નામોનું, એક હાજરીનું: દરેક ખાનું પોતાના પ્રકારનો data, બધી હરોળ એવી ગોઠવાયેલી કે હરોળ 7 બધે એ જ student હોય.

Data frame બરાબર એ જ છે: સરખી લંબાઈનાં vectors બાજુ બાજુ સ્ટેપલ કરેલાં: દરેક ખાનું એક પ્રકાર (એક vector), આખું મળીને એક કોષ્ટક. એક ખાનું બહાર કાઢો ($) અને તમે પાછા vector પર છો, જ્યાં vector નાં બધાં કૌશલ્યો હજી કામ કરે છે.

Practical

બનાવો, તપાસો, માપો, સાચવો

# build one by hand (usually read.csv does this for you)
survey <- data.frame(
  roll   = c(101, 102, 103, 104),
  city   = c("Surat", "Navsari", "Surat", "Bardoli"),
  screen = c(120, 90, 240, 150)
)

# inspect
head(survey, 2)     # first 2 rows
str(survey)         # structure: types per column
summary(survey)     # per-column statistics (see below)
View(survey)        # RStudio spreadsheet window: CAPITAL V

# measure
nrow(survey)        # [1] 4
ncol(survey)        # [1] 3
dim(survey)         # [1] 4 3
names(survey)       # "roll" "city" "screen"

# a column is just a vector again
mean(survey$screen)     # [1] 150

# save: row.names = FALSE, always
write.csv(survey, "survey_out.csv", row.names = FALSE)

Theory

summary(): એક command માં જૂના મિત્રો

screen ના ખાના માટે, summary(survey) છાપે છે:

Min. 1st Qu. Median Mean 3rd Qu. Max.

90 112.5 135 150 172.5 240

એ હરોળ ધીમેથી ફરી વાંચો: લઘુતમ, Q1, મધ્યસ્થ, Q3, મહત્તમ: box-plot ના પાઠનો પાંચ સંખ્યાનો સારાંશ, વત્તા સરેરાશ: દરેક numeric ખાના માટે એકસાથે ગણાયેલો.

સરેરાશ (150) મધ્યસ્થ (135) થી ઉપર? જમણી બાજુની વિષમતા, એમ તમારી એકમ 1ની તાલીમ કહે છે. એક command, અને આખું વર્ણનાત્મક આંકડાશાસ્ત્રનું ઓજારપેટી હાજર થઈ જાય છે.

Quiz

એક student write.csv(survey, "out.csv") થી સાચવે છે (row.names નું argument નહીં). કાલે ફરી લોડ કરતાં 1, 2, 3, 4 ધરાવતું રહસ્યમય પહેલું ખાનું X દેખાય છે. શું થયું?

  1. R એ પોતાના હરોળના નંબર file માં લખ્યા; write.csv(..., row.names = FALSE) એ અટકાવે છે
  2. સાચવતી વખતે file બગડી ગઈ
  3. read.csv હંમેશા X નું ખાનું ઉમેરે છે
  4. roll ના ખાનાનું નામ બદલીને X થઈ ગયું
Show the answer

R એ પોતાના હરોળના નંબર file માં લખ્યા; write.csv(..., row.names = FALSE) એ અટકાવે છે

Default માં write.csv એ data frame નાં હરોળનાં નામ (1, 2, 3...) ને ખરેખરા ખાના તરીકે બહાર કાઢે છે, જે ઉપજાવેલા નામ X હેઠળ પાછું લોડ થાય છે: ફરી સાચવો અને એ વધતાં જાય. ઉપાય એ ટેવ છે row.names = FALSE: BCA303ના pandas ના to_csv index=False જેવો જ રોગ અને એવો જ ઉપાય (ત્યાં રહસ્યમય ખાનું 'Unnamed: 0' કહેવાતું). એ જ પાઠ, બીજી ભાષામાં: બહાર કાઢનારને કહેવું પડે કે પોતાનું આંતરિક ક્રમાંકન ન મોકલે.

Think first

ચાર outputs ધારો

ઉપરના survey ના data frame (4 હરોળ: screens 120, 90, 240, 150) વાપરીને, દરેક શું છાપશે એ કાઢો, પછી tap કરો:

1. dim(survey)

2. survey$screen > 100

3. mean(survey$screen > 100)

4. view(survey)

Show the answer

1. [1] 4 3: પહેલાં હરોળ પછી ખાનાં.

2. TRUE FALSE TRUE TRUE: એક logical vector ($ એ vector ખેંચ્યું; સરખામણી vectorise થાય છે).

3. 0.75: 100 થી ઉપરનું પ્રમાણ: શરતની સરેરાશનો રૂઢિપ્રયોગ પાછો આવે છે.

4. Error: could not find function "view": viewer એ View() છે, મોટા V સાથે: case sensitivity ક્યારેય ઊંઘતું નથી.

જો ચારેય સાચા પડ્યા, તો vector ના પાઠ અને data frame હમણાં જ સાથે બંધબેસી ગયા: ખાનાં એ vectors જ છે.

Watch out

રોજિંદી લપસણ

view() સામે View(): નાનો અક્ષર નિષ્ફળ જાય છે: શરૂઆત કરનારા સૌથી વધુ ભૂલે એ એક મોટો અક્ષર.

દરેક write.csv પર row.names = FALSE, નહીં તો X નું ખાનું દરેક વખતે લોડ કરતાં ભૂત બનીને આવે છે.

$ પણ case-sensitive છે: ખાનું screen હોય ત્યારે survey$Screen એ NULL આપે છે (ભૂલ નહીં!): એક ચૂપ NULL જે પછીની લીટી તોડે છે. ખાનું "ગાયબ" થાય ત્યારે names(df) તપાસો.

Theory

ખરેખરા કામ તરફનો પુલ

તમે હવે data ને આખું ચક્ર ફેરવી શકો છો: read.csv અંદર, str/summary થી તપાસ, $ થી ગણતરી, write.csv બહાર: એ જ ચક્ર જે તમે pandas માં ચલાવ્યું હતું, એક ભાષા આગળ. અહીંથી વિષય ફરવાનું બંધ કરીને કામ કરવાનું શરૂ કરે છે: આગલો પાઠ આ data frame ને કાપે છે (શરત પ્રમાણે હરોળ, નામ પ્રમાણે ખાનાં): SQL ના WHERE અને pandas ના masks નો R નો જવાબ: એ જ સુંદર વિચારને તમે ત્રીજી વાર મળો છો.

Summary

Key takeaways

  • Data frame = સરખી લંબાઈનાં vectors ખાનાં તરીકે સ્ટેપલ કરેલાં: ખાના દીઠ એક પ્રકાર, કોષ્ટક દીઠ મિશ્ર પ્રકારો.
  • data.frame() થી બનાવો કે read.csv થી આયાત કરો; df$col ખાનાને vector તરીકે કાઢે છે.
  • તપાસો: head/tail, str (પ્રકારો), summary (પાંચ સંખ્યાનો સારાંશ વત્તા ખાના દીઠ સરેરાશ), View (મોટો V).
  • માપો: nrow, ncol, dim, names.
  • write.csv(df, file, row.names = FALSE) થી સાચવો: R નું index=False.
  • ખોટા case વાળું ખાનાનું નામ ભૂલ નહીં, ચૂપ NULL આપે છે.
  • Memory hook: સ્ટેપલ કરેલાં vectors નું રજિસ્ટર.

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Introduction to R and working with Data

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Read, write and view data using data frames · Statistical Methods and Data Analysis (MDC-03) · Gri-Learn