【发布时间】:2019-09-07 13:57:58
【问题描述】:
请帮助我使用一个命令,该命令将返回包中的数据集数量,例如.package = "MASS"。我尝试了 data(package = "MASS") 但它返回给我一个列表。但是我想知道包中数据集的数量。
【问题讨论】:
请帮助我使用一个命令,该命令将返回包中的数据集数量,例如.package = "MASS"。我尝试了 data(package = "MASS") 但它返回给我一个列表。但是我想知道包中数据集的数量。
【问题讨论】:
简答:
nrow(data(package = "MASS")$result)
#[1] 87
长答案:data(package = "MASS") 返回一个 packageIQR 类的对象,它有一个很好的 print 方法,可以让您查看所有可用的数据集。然而,该对象实际上是一个list,而result 组件是一个matrix,每个数据集都有一行包含位置、名称和描述。使用nrow 可以得到数据集的数量。
a <- data(package = "MASS")
str(a)
#List of 4
# $ title : chr "Data sets"
# $ header : NULL
# $ results: chr [1:87, 1:4] "MASS" "MASS" "MASS" "MASS" ...
# ..- attr(*, "dimnames")=List of 2
# .. ..$ : NULL
# .. ..$ : chr [1:4] "Package" "LibPath" "Item" "Title"
# $ footer : NULL
# - attr(*, "class")= chr "packageIQR"tr(a)
head(a$results[,3:4])
# Item Title
#[1,] "Aids2" "Australian AIDS Survival Data"
#[2,] "Animals" "Brain and Body Weights for 28 Species"
#[3,] "Boston" "Housing Values in Suburbs of Boston"
#[4,] "Cars93" "Data from 93 Cars on Sale in the USA in 1993"
#[5,] "Cushings" "Diagnostic Tests on Patients with Cushing's Syndrome"
#[6,] "DDT" "DDT in Kale"
nrow(a$result)
#[1] 87
【讨论】: