forked from hqphat/coursera-r-programming
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
a08afbd
commit 25ab702
Showing
1 changed file
with
126 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,126 @@ | ||
The str() Function | ||
================== | ||
|
||
Compactly display the internal structure of an R object. | ||
|
||
* A diagnostic function and an alternative to 'summary' | ||
* It is especially ell suited to compactly display the ( abbreviated) contents of (possibly nested) lists | ||
* Roughly one line per basic object | ||
|
||
str() answers the question: what's in an object? | ||
|
||
|
||
Functions | ||
--------- | ||
|
||
> str(str) | ||
function (object, ...) | ||
|
||
> str(lm) | ||
function (formula, data, subset, weights, na.action, method = "qr", model = TRUE, | ||
x = FALSE, y = FALSE, qr = TRUE, singular.ok = TRUE, contrasts = NULL, | ||
offset, ...) | ||
|
||
> str(ls) | ||
function (name, pos = -1L, envir = as.environment(pos), all.names = FALSE, | ||
pattern) | ||
|
||
|
||
Vectors | ||
------- | ||
|
||
> x <-rnorm(100, 2, 4) | ||
> summary(x) | ||
Min. 1st Qu. Median Mean 3rd Qu. Max. | ||
-8.647 -0.632 1.874 2.215 4.839 13.450 | ||
> str(x) | ||
num [1:100] 0.9986 -6.5211 3.4636 0.5328 0.0474 ... | ||
|
||
|
||
Factors | ||
------- | ||
|
||
> f <-gl(40, 10) | ||
> str(f) | ||
Factor w/ 40 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ... | ||
> summary(f) | ||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ||
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 | ||
27 28 29 30 31 32 33 34 35 36 37 38 39 40 | ||
10 10 10 10 10 10 10 10 10 10 10 10 10 10 | ||
|
||
|
||
Data Frames | ||
----------- | ||
|
||
> library(datasets) | ||
> head(airquality) | ||
Ozone Solar.R Wind Temp Month Day | ||
1 41 190 7.4 67 5 1 | ||
2 36 118 8.0 72 5 2 | ||
3 12 149 12.6 74 5 3 | ||
4 18 313 11.5 62 5 4 | ||
5 NA NA 14.3 56 5 5 | ||
6 28 NA 14.9 66 5 6 | ||
> str(airquality) | ||
'data.frame': 153 obs. of 6 variables: | ||
$ Ozone : int 41 36 12 18 NA 28 23 19 8 NA ... | ||
$ Solar.R: int 190 118 149 313 NA NA 299 99 19 194 ... | ||
$ Wind : num 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ... | ||
$ Temp : int 67 72 74 62 56 66 65 59 61 69 ... | ||
$ Month : int 5 5 5 5 5 5 5 5 5 5 ... | ||
$ Day : int 1 2 3 4 5 6 7 8 9 10 ... | ||
|
||
|
||
Matrix | ||
------ | ||
|
||
> m <- matrix(rnorm(100), 10, 10) | ||
> str(m) | ||
num [1:10, 1:10] 1.201 0.712 -0.118 -0.581 -0.467 ... | ||
> m[, 1] | ||
[1] 1.2012138 0.7118305 -0.1178031 -0.5812110 -0.4673343 -0.5950841 | ||
[7] 0.4184978 1.8155424 -1.6733037 -0.7371094 | ||
|
||
|
||
Lists | ||
----- | ||
|
||
> s <- split(airquality, airquality$Month) | ||
> str(s) | ||
List of 5 | ||
$ 5:'data.frame': 31 obs. of 6 variables: | ||
..$ Ozone : int [1:31] 41 36 12 18 NA 28 23 19 8 NA ... | ||
..$ Solar.R: int [1:31] 190 118 149 313 NA NA 299 99 19 194 ... | ||
..$ Wind : num [1:31] 7.4 8 12.6 11.5 14.3 14.9 8.6 13.8 20.1 8.6 ... | ||
..$ Temp : int [1:31] 67 72 74 62 56 66 65 59 61 69 ... | ||
..$ Month : int [1:31] 5 5 5 5 5 5 5 5 5 5 ... | ||
..$ Day : int [1:31] 1 2 3 4 5 6 7 8 9 10 ... | ||
$ 6:'data.frame': 30 obs. of 6 variables: | ||
..$ Ozone : int [1:30] NA NA NA NA NA NA 29 NA 71 39 ... | ||
..$ Solar.R: int [1:30] 286 287 242 186 220 264 127 273 291 323 ... | ||
..$ Wind : num [1:30] 8.6 9.7 16.1 9.2 8.6 14.3 9.7 6.9 13.8 11.5 ... | ||
..$ Temp : int [1:30] 78 74 67 84 85 79 82 87 90 87 ... | ||
..$ Month : int [1:30] 6 6 6 6 6 6 6 6 6 6 ... | ||
..$ Day : int [1:30] 1 2 3 4 5 6 7 8 9 10 ... | ||
$ 7:'data.frame': 31 obs. of 6 variables: | ||
..$ Ozone : int [1:31] 135 49 32 NA 64 40 77 97 97 85 ... | ||
..$ Solar.R: int [1:31] 269 248 236 101 175 314 276 267 272 175 ... | ||
..$ Wind : num [1:31] 4.1 9.2 9.2 10.9 4.6 10.9 5.1 6.3 5.7 7.4 ... | ||
..$ Temp : int [1:31] 84 85 81 84 83 83 88 92 92 89 ... | ||
..$ Month : int [1:31] 7 7 7 7 7 7 7 7 7 7 ... | ||
..$ Day : int [1:31] 1 2 3 4 5 6 7 8 9 10 ... | ||
$ 8:'data.frame': 31 obs. of 6 variables: | ||
..$ Ozone : int [1:31] 39 9 16 78 35 66 122 89 110 NA ... | ||
..$ Solar.R: int [1:31] 83 24 77 NA NA NA 255 229 207 222 ... | ||
..$ Wind : num [1:31] 6.9 13.8 7.4 6.9 7.4 4.6 4 10.3 8 8.6 ... | ||
..$ Temp : int [1:31] 81 81 82 86 85 87 89 90 90 92 ... | ||
..$ Month : int [1:31] 8 8 8 8 8 8 8 8 8 8 ... | ||
..$ Day : int [1:31] 1 2 3 4 5 6 7 8 9 10 ... | ||
$ 9:'data.frame': 30 obs. of 6 variables: | ||
..$ Ozone : int [1:30] 96 78 73 91 47 32 20 23 21 24 ... | ||
..$ Solar.R: int [1:30] 167 197 183 189 95 92 252 220 230 259 ... | ||
..$ Wind : num [1:30] 6.9 5.1 2.8 4.6 7.4 15.5 10.9 10.3 10.9 9.7 ... | ||
..$ Temp : int [1:30] 91 92 93 93 87 84 80 78 75 73 ... | ||
..$ Month : int [1:30] 9 9 9 9 9 9 9 9 9 9 ... | ||
..$ Day : int [1:30] 1 2 3 4 5 6 7 8 9 10 ... |