Gaukite „R DataFrame“ stulpelių skaičių

Gaukite R Dataframe Stulpeliu Skaiciu



R stulpelių skaičiaus gavimas yra pagrindinė operacija, kuri reikalinga daugeliu atvejų dirbant su DataFrames. Sudarant, analizuojant, manipuliuojant, skelbiant ir vizualizuojant duomenis, stulpelių skaičius yra labai svarbi informacija, kurią reikia žinoti. Todėl R pateikia skirtingus metodus, kaip gauti nurodyto duomenų rėmelio stulpelių sumą. Šiame straipsnyje aptarsime kai kuriuos metodus, kurie padeda mums apskaičiuoti DataFrame stulpelių skaičių.

1 pavyzdys: Ncol() funkcijos naudojimas

ncol () yra dažniausia funkcija, skirta duomenų rėmelių stulpelių sumai gauti.







df <- data.frame('y1' = c(10, 12, 14, 19),

'y2' = c(15, 22, 24, 29),
'y3' = c(25, 32, 34, 39))


n <- ncol(df)

cat('-----Stulpelių skaičius duomenų rėmelyje :', n)

Šiame pavyzdyje pirmiausia sukuriame „df“ duomenų rėmelį su trimis stulpeliais, pažymėtais kaip „y1“, „y2“ ir „y3“, naudodami R funkciją data.frame(). Kiekvieno stulpelio elementai nurodomi naudojant c() funkcija, kuri sukuria elementų vektorių. Tada, naudojant „n“ kintamąjį, funkcija ncol() naudojama norint nustatyti bendrą „df“ duomenų rėmelio stulpelių skaičių. Galiausiai, naudojant aprašomąjį pranešimą ir „n“ kintamąjį, pateikta funkcija cat() atspausdina rezultatus konsolėje.



Kaip ir tikėtasi, gauta išvestis rodo, kad nurodytame DataFrame yra trys stulpeliai:







2 pavyzdys: Suskaičiuokite bendrą tuščio duomenų rėmelio stulpelių skaičių

Tada mes pritaikome funkciją ncol () tuščiam DataFrame, kuris taip pat gauna visų stulpelių reikšmes, bet ta vertė yra nulis.

tuščias_df <- data.frame()

n <- ncol(tuščias_df)

cat('---Stulpeliai duomenų rėmelyje :', n)

Šiame pavyzdyje mes sugeneruojame tuščią duomenų rėmelį, „empty_df“, iškviesdami data.frame() nenurodydami jokių stulpelių ar eilučių. Tada naudojame funkciją ncol (), kuri naudojama DataFrame stulpelių skaičiui rasti. Funkcija ncol () čia nustatyta su 'empty_df' DataFrame, kad gautumėte bendrą stulpelių skaičių. Kadangi 'empty_df' DataFrame yra tuščias, jame nėra stulpelių. Taigi, ncol(empty_df) išvestis yra 0. Rezultatai rodomi naudojant funkciją cat(), kuri čia yra įdiegta.



Išvestis rodo reikšmę „0“, kaip tikėtasi, nes DataFrame yra tuščias.

3 pavyzdys: Funkcijos Select_If() naudojimas su ilgio() funkcija

Jei norime gauti bet kokio konkretaus tipo stulpelių skaičių, turėtume naudoti funkciją select_if() kartu su R ilgio() funkcija. Šios funkcijos naudojamos, kurios sujungiamos, kad būtų gauta kiekvieno tipo stulpelių suma. . Šių funkcijų naudojimo kodas yra įgyvendintas taip:

biblioteka (dplyr)

x1<-RAIDĖS[1:10]

x2<-rpois(10,2)

x3<-rpois(10,5)

x4<-sample(c('Vasara','Žiema'),10,replace=TRUE)

df1<-data.frame(x1,x2,x3,x4)

df1

ilgis(select_if(df1,is.skaitinis))

Šiame pavyzdyje pirmiausia įkeliame dplyr paketą, kad galėtume pasiekti select_if() ir long() funkcijas. Tada sukuriame keturis kintamuosius – atitinkamai „x1“, „x2“, „x3“ ir „x4“. Čia „x1“ yra 10 pirmųjų anglų abėcėlės didžiųjų raidžių. Kintamieji „x2“ ir „x3“ generuojami naudojant funkciją rpois (), kad būtų sukurti du atskiri vektoriai iš 10 atsitiktinių skaičių, kurių parametrai yra atitinkamai 2 ir 5. Kintamasis „x4“ yra faktoriaus vektorius su 10 elementų, kurie atsitiktinai atrenkami iš vektoriaus c („Vasara“, „Žiema“).

Tada bandome sukurti 'df1' DataFrame, kuriame visi kintamieji perduodami naudojant funkciją data.frame(). Galiausiai iškviečiame funkciją ilgis(), kad nustatytų „df1“ duomenų rėmelio, sukurto naudojant funkciją select_if() iš dplyr paketo, ilgį. Funkcija select_if() parenka stulpelius iš „df1“ duomenų rėmelio kaip argumentą, o funkcija is.numeric() pasirenka tik tuos stulpelius, kuriuose yra skaitinės reikšmės. Tada funkcija ilgis () gauna bendrą stulpelių skaičių, kurį pasirenka select_if (), kuris yra viso kodo išvestis.

Stulpelio ilgis rodomas toliau pateiktoje išvestyje, kuri nurodo bendrą DataFrame stulpelių skaičių:

4 pavyzdys: funkcijos Sapply() naudojimas

Ir atvirkščiai, jei norime suskaičiuoti tik trūkstamas stulpelių reikšmes, turime funkciją sapply (). Funkcija sapply() kartojasi per kiekvieną DataFrame stulpelį, kad veiktų konkrečiai. Funkcija sapply() pirmiausia perduodama kaip argumentas DataFrame. Tada reikia atlikti operaciją su tuo DataFrame. Funkcijos sapply() įgyvendinimas, norint gauti NA reikšmių skaičių DataFrame stulpeliuose, pateikiamas taip:

new_df <- data.frame(c1 = c(10, 11, NA, 13, NA),

c2 = c('N', NA, 'A', 'M', 'E'),
c3 = c(NA, 92, NA, NA, 95))

sapply(new_df, function(x) sum(is.na(x)))

Šiame pavyzdyje generuojame „new_df“ duomenų rėmelį su trimis stulpeliais – „c1“, „c2“ ir „c3“. Pirmuosiuose stulpeliuose „c1“ ir „c3“ yra skaitinės reikšmės, įskaitant kai kurias trūkstamas reikšmes, kurios yra pavaizduotos NA. Antrame stulpelyje „c2“ yra simbolių, įskaitant kai kurias trūkstamas reikšmes, kurias taip pat reiškia NA. Tada pritaikome funkciją sapply() „new_df“ DataFrame ir apskaičiuojame trūkstamų reikšmių skaičių kiekviename stulpelyje, naudodami sum() išraišką funkcijoje sapply().

Funkcija is.na() yra ta išraiška, kuri nurodoma funkcijai sum(), kuri grąžina loginį vektorių, nurodantį, ar trūksta kiekvieno elemento stulpelyje, ar ne. Funkcija sum () sudeda TRUE reikšmes, kad suskaičiuotų trūkstamų reikšmių skaičių kiekviename stulpelyje.

Taigi išvestis rodo bendras NA vertes kiekviename iš stulpelių:

5 pavyzdys: Dim() funkcijos naudojimas

Be to, norime gauti bendrą stulpelių skaičių kartu su DataFrame eilutėmis. Tada funkcija dim() pateikia DataFrame matmenis. Funkcija dim() paima objektą kaip argumentą, kurio matmenis norime gauti. Štai kodas, skirtas naudoti dim() funkciją:

d1 <- data.frame(team=c('t1', 't2', 't3', 't4'),

taškai = c(8, 10, 7, 4))

pritemdytas (d1)

Šiame pavyzdyje pirmiausia apibrėžiame „d1“ duomenų rėmelį, kuris generuojamas naudojant funkciją data.frame(), kur du stulpeliai nustatomi „team“ ir „points“. Po to mes iškviečiame funkciją dim () per 'd1' DataFrame. Funkcija dim() grąžina DataFrame eilučių ir stulpelių skaičių. Todėl, kai paleidžiame dim(d1), jis grąžina vektorių su dviem elementais – pirmasis iš jų atspindi eilučių skaičių „d1“ duomenų rėmelyje, o antrasis – stulpelių skaičių.

Išvestis rodo DataFrame matmenis, kur vertė „4“ nurodo bendrą stulpelių skaičių, o vertė „2“ reiškia eilutes:

Išvada

Dabar sužinojome, kad stulpelių skaičiaus skaičiavimas R yra paprasta ir svarbi operacija, kurią galima atlikti su DataFrame. Tarp visų funkcijų ncol() funkcija yra patogiausias būdas. Dabar esame susipažinę su skirtingais būdais, kaip gauti stulpelių skaičių iš nurodyto DataFrame.