v というオブジェクトがあるとします。is.vector(v)、is.list(v) .. . ?
1847 次
1 に答える
7
mode
役立つ 3 つの関数がstr
あります。class
まず、いくつかのデータを作成しましょう。
nlist <- list(a=c(1,2,3), b=c("a", "b", "c"), c=matrix(rnorm(10),5))
ndata.frame <- data.frame(a=c("a", "b", "c"), b=1:3)
ncharvec <- c("a", "b", "c")
nnumvec <- c(1, 2, 3)
nintvec <- 1:3
それでは、上で述べた関数を使用しましょう。
mode(nlist)
[1] "list"
str(nlist)
List of 3
$ a: num [1:3] 1 2 3
$ b: chr [1:3] "a" "b" "c"
$ c: num [1:5, 1:2] -0.9469 -0.0602 -0.3601 0.9594 -0.4348 ...
class(nlist)
[1] "list"
データフレームの場合:
mode(ndata.frame)
[1] "list"
これは驚くかもしれませんが、データ フレームは単に data.frame クラス属性を持つリストです。
str(ndata.frame)
'data.frame': 3 obs. of 2 variables:
$ a: Factor w/ 3 levels "a","b","c": 1 2 3
$ b: int 1 2 3
class(ndata.frame)
[1] "data.frame"
ベクトルにはさまざまなモードがあることに注意してください。
mode(ncharlist)
[1] "character"
mode(nnumvec)
[1] "numeric"
mode(nintvec)
[1] "numeric"
また、とは同じように見えますが、かなり異なっているnnumvec
ことも確認してください。nintvec
str(nnumvec)
num [1:3] 1 2 3
str(nintvec)
int [1:3] 1 2 3
class(nnumvec)
[1] "numeric"
class(nintvec)
[1] "integer"
これらのどれが必要かによって、使用する機能を決定する必要があります。str
は一般に変数を調べるのに適した関数ですが、他の 2 つは関数でより役立ちます。
于 2012-07-24T05:06:53.320 に答える