Objektumok megtekintése
Fontos tudatosítani, hogy a print
eredménye többnyire nem felel meg az adott
objektum pontos tartalmának:
options(digits = 2) # hány tizedesjegyet jelenítsen meg
vec <- rnorm(4)
print(vec)
## [1] -0.56 -1.75 -0.89 0.81
# demonstráció 1
options(digits = 10)
vec
## [1] -0.5642454586 -1.7464625950 -0.8867054432 0.8092280915
# demonstráció 2
class(vec) <- "specialVector"
print.specialVector <- function(x, ...) print.default("hello")
print(vec)
## [1] "hello"
# állítsuk vissza az alapbeállításra
options(digits = 7)
Egy objektum struktúrájáról többet megtudhatsz az RStudio "Environment" ablakában
a megfelelő objektumra pillantva, amely valójában a str
függvény eredményét
jeleníti meg.
str
-> roppant hasznos
# az előbbi példát folytatva:
str(vec)
## Class 'specialVector' num [1:4] -0.564 -1.746 -0.887 0.809
# új példa:
mydat <- matrix(rnorm(10), 2, 5,
dimnames=list(c("lower", "upper"),
paste("col", 1:5, sep=".")))
mydat
## col.1 col.2 col.3 col.4 col.5
## lower -0.23731533 0.6219901 0.5442327 -0.6268696 0.6113179
## upper 0.09800529 0.2378772 0.2899766 1.2595817 0.8335864
str(mydat)
## num [1:2, 1:5] -0.237 0.098 0.622 0.238 0.544 ...
## - attr(*, "dimnames")=List of 2
## ..$ : chr [1:2] "lower" "upper"
## ..$ : chr [1:5] "col.1" "col.2" "col.3" "col.4" ...
- hosszú listák megtekintésekor érdemes lehet használni a
str
függvény argumentumait (lásd?str
)
# generáljunk egy bonyolult listát
# (illesszünk egy regressziós modellt)
fit <- lm(mpg ~ wt, mtcars)
# nézzük meg a 'fit' objektum struktúráját
str(fit, max.level = 1, give.attr = FALSE)
## List of 12
## $ coefficients : Named num [1:2] 37.29 -5.34
## $ residuals : Named num [1:32] -2.28 -0.92 -2.09 1.3 -0.2 ...
## $ effects : Named num [1:32] -113.65 -29.116 -1.661 1.631 0.111 ...
## $ rank : int 2
## $ fitted.values: Named num [1:32] 23.3 21.9 24.9 20.1 18.9 ...
## $ assign : int [1:2] 0 1
## $ qr :List of 5
## $ df.residual : int 30
## $ xlevels : Named list()
## $ call : language lm(formula = mpg ~ wt, data = mtcars)
## $ terms :Classes 'terms', 'formula' length 3 mpg ~ wt
## $ model :'data.frame': 32 obs. of 2 variables:
head
éstail
-> főként data.frame esetén jön jól
datfr <- data.frame(characters = letters[1:20], numbers = 1:20)
- első 10 elem kiírása
head(datfr, 10)
## characters numbers
## 1 a 1
## 2 b 2
## 3 c 3
## 4 d 4
## 5 e 5
## 6 f 6
## 7 g 7
## 8 h 8
## 9 i 9
## 10 j 10
- utolsó 10 elem kiírása
tail(datfr, 10)
## characters numbers
## 11 k 11
## 12 l 12
## 13 m 13
## 14 n 14
## 15 o 15
## 16 p 16
## 17 q 17
## 18 r 18
## 19 s 19
## 20 t 20