R语言 如何去除数据集中的定性预测因子

hzbexzde  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(234)

尝试使用range()函数并取出我的定性预测因子(共2个),而不是列出所有定量预测因子(共7个)。

require(ISLR)
data(Auto)
range(Auto$mpg)
range(Auto$cylinders)
range(Auto$displacement)
range(Auto$horsepower)
range(Auto$weight)
range(Auto$acceleration)
range(Auto$year)
lyr7nygr

lyr7nygr1#

sapply循环找出哪些列是数值型的,创建一个逻辑索引i,然后sapply只对这些列执行range函数。
此外,不需要仅仅为了访问其中一个数据集而加载整个包,函数data有一个package参数,可以用来告诉R在哪里找到要加载的数据集。

data(Auto, package = "ISLR")
str(Auto)
#> 'data.frame':    392 obs. of  9 variables:
#>  $ mpg         : num  18 15 18 16 17 15 14 14 14 15 ...
#>  $ cylinders   : num  8 8 8 8 8 8 8 8 8 8 ...
#>  $ displacement: num  307 350 318 304 302 429 454 440 455 390 ...
#>  $ horsepower  : num  130 165 150 150 140 198 220 215 225 190 ...
#>  $ weight      : num  3504 3693 3436 3433 3449 ...
#>  $ acceleration: num  12 11.5 11 12 10.5 10 9 8.5 10 8.5 ...
#>  $ year        : num  70 70 70 70 70 70 70 70 70 70 ...
#>  $ origin      : num  1 1 1 1 1 1 1 1 1 1 ...
#>  $ name        : Factor w/ 304 levels "amc ambassador brougham",..: 49 36 231 14 161 141 54 223 241 2 ...

i <- sapply(Auto, is.numeric)
t(sapply(Auto[i], range))
#>              [,1]   [,2]
#> mpg             9   46.6
#> cylinders       3    8.0
#> displacement   68  455.0
#> horsepower     46  230.0
#> weight       1613 5140.0
#> acceleration    8   24.8
#> year           70   82.0
#> origin          1    3.0

创建于2023年2月5日,使用reprex v2.0.2
一行程序如下所示(省略输出)。

t(sapply(Auto[sapply(Auto, is.numeric)], range))

创建于2023年2月5日,使用reprex v2.0.2

相关问题