Co je soubor R?
Soubor s pÅÃponou .r patÅà do programovacÃho jazyka R. Tento jazyk je urÄen pro statistické výpoÄty a je oblÃbený mezi komunitou statistiků. Analýza dat a vývoj statistického softwaru jsou dvÄ hlavnà kategorie provádÄné tÃmto jazykem v oblasti dolovánà dat. Dalšà výhodou použità tohoto jazyka a softwaru je, že poskytuje možnost statických grafů, které jsou užiteÄné pÅi vytváÅenà kvalitnÃch grafů. NÄkteré dalšà balÃÄky se použÃvajà pro dynamickou a interaktivnà grafiku.
Software tohoto jazyka obsahuje General Public License, takže jeho dostupnost je zdarma. Kód R je obvykle napsán v jazycÃch vysoké úrovnÄ, jako je C a také samotné R. Software zahrnuje rozhranà pÅÃkazového Åádku spolu s dostupnostà rozhranà tÅetÃch stran, jako jsou grafická uživatelská rozhranà RStudio a Jupyter (rozhranà notebooku). Existujà statistické techniky použÃvané pÅi implementaci knihoven R. Zahrnuje také modelovánà jako lineárnà a nelineárnÃ.
StruÄná historie
Tento jazyk je implementacà sémantiky lexikálnÃho rozsahu spolu s jazykem S. V roce 1976 v Bell Labs vyvinul John Chambers jazyk S. Dokonce ani tam nenà žádná zmÄna ve velké Äásti kódu S-PLUS pÅi použità v jazyce R. V roce 1995 vytvoÅil Martin Maechler a jeho spoleÄnÃci jazyk R spolu se svobodným softwarem pod licencà General public.
Oficiálnà oznámenà Comprehensive R Archive Network bylo uÄinÄno 23. dubna 1997. V roce 2000 byla oficiálnÄ vydána verze 1.0, která byla prvnà stabilnà beta verzÃ. Jeho prvnà vydánà se uskuteÄnilo v roce 1995, zatÃmco CRAN (comprehensive R archive network) byla vydána v pozdÄjÅ¡Ãch letech.
Základnà tým byl vytvoÅen v roce 1997 pro dalšà vývoj jazyka po prvnÃch verzÃch. Mnoho aktualizacà a upravených verzà bylo vydáváno v pozdÄjÅ¡Ãch letech a zahrnovalo nové funkce podle modernÃch operaÄnÃch systémů a technologiÃ. Nedávná úprava byla pÅedstavena v kvÄtnu 2021.
Technická specifikace
R je tlumoÄnický jazyk a pro pÅÃstup k tomuto jazyku je vyžadován tlumoÄnÃk pÅÃkazového Åádku. VýpoÄty jako souÄet se zadávajà do pÅÃkazu promo a výsledky se zobrazà po interpretaci. Data a kód jsou reprezentovány S-výrazy. Dalšà specifikacà tohoto jazyka je, že může být provozován jako sada nástrojů, která poskytuje možnost výpoÄtu obecné matice.
Ke spouÅ¡tÄnà a úpravÄ R kódu se použÃvajà různé aplikace. Integrovaná vývojová prostÅedà jako Rattle GUI, RKWard jsou také k dispozici pro spuÅ¡tÄnà kódu programovacÃho jazyka R. Dalšà software od spoleÄnosti Microsoft známý jako Microsoft R open je také dostupný s kompatibilitou s distribucà R pro složité výpoÄty, jako jsou výpoÄty s vÃce vlákny. R je jednÃm z pÄti vybraných programovacÃch jazyků po celém svÄtÄ, které obsahujà Apache Spark API.
Jazyk R podporuje procedurálnà programovánà spolu s funkcemi. Zejména pro nÄkteré funkce vÅ¡ak podporuje OOP (objektovÄ orientované programovánÃ) spolu s generickými funkcemi. Hodnoty se použÃvajà k pÅedávánà argumentů, pokud funkce a jejich vyhodnocenà probÃhá pÅi jejich použitÃ, což znamená, že se nevyhodnocujÃ, když jsou funkce volány.
PÅÃklad formátu souboru R
Syntaxe
> x <- 1:6 # Create a numeric vector in the current environment
> y <- x^2 # Create vector based on the values in x.
> print(y) # Print the vectorâs contents.
[1] 1 4 9 16 25 36
> z <- x + y # Create a new vector that is the sum of x and y
> z # return the contents of z to the current environment.
[1] 2 6 12 20 30 42
> z_matrix <- matrix(z, nrow=3) # Create a new matrix that turns the vector z into a 3x2 matrix object
> z_matrix
[,1] [,2]
[1,] 2 20
[2,] 6 30
[3,] 12 42
> 2*t(z_matrix)-2 # Transpose the matrix, multiply every element by 2, subtract 2 from each element in the matrix, and return the results to the terminal.
[,1] [,2] [,3]
[1,] 2 10 22
[2,] 38 58 82
> new_df <- data.frame(t(z_matrix), row.names=c('A','B')) # Create a new data.frame object that contains the data from a transposed z_matrix, with row names 'A' and 'B'
> names(new_df) <- c('X','Y','Z') # set the column names of new_df as X, Y, and Z.
> print(new_df) #print the current results.
X Y Z
A 2 6 12
B 20 30 42
> new_df$Z #output the Z column
[1] 12 42
> new_df$Z==new_df['Z'] && new_df[3]==new_df$Z # the data.frame column Z can be accessed using $Z, ['Z'], or [3] syntax, and the values are the same.
[1] TRUE
> attributes(new_df) #print attributes information about the new_df object
$names
[1] "X" "Y" "Z"
$row.names
[1] "A" "B"
$class
[1] "data.frame"
> attributes(new_df)$row.names <- c('one','two') ## access and then change the row.names attribute; can also be done using rownames()
> new_df
X Y Z
one 2 6 12
two 20 30 42
Funkce
# Declare function âfâ with parameters âxâ, âyâ
# that returns a linear combination of x and y.
f <- function(x, y) {
z <- 3 * x + 4 * y
return(z) ## the return() function is optional here
}
> f(1, 2)
[1] 11
> f(c(1,2,3), c(5,3,4))
[1] 23 18 25
> f(1:3, 4)
[1] 19 22 25
Datové modelovánÃ
> x <- 1:6 # Create x and y values
> y <- x^2
> model <- lm(y ~ x) # Linear regression model y = A + B * x.
> summary(model) # Display an in-depth summary of the model.
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4 5 6
3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.3333 2.8441 -3.282 0.030453 *
x 7.0000 0.7303 9.585 0.000662 ***
---
Signif. codes: 0 â***â 0.001 â**â 0.01 â*â 0.05 â.â 0.1 â â 1
Residual standard error: 3.055 on 4 degrees of freedom
Multiple R-squared: 0.9583, Adjusted R-squared: 0.9478
F-statistic: 91.88 on 1 and 4 DF, p-value: 0.000662
> par(mfrow = c(2, 2)) # Create a 2 by 2 layout for figures.
> plot(model) # Output diagnostic plots of the model.