相关疑难解决方法(0)

为什么as.factor在内部使用时返回一个字符?

我想使用apply()以下方法将变量转换为因子:

a <- data.frame(x1 = rnorm(100),
                x2 = sample(c("a","b"), 100, replace = T),
                x3 = factor(c(rep("a",50) , rep("b",50))))

a2 <- apply(a, 2,as.factor)
apply(a2, 2,class)
Run Code Online (Sandbox Code Playgroud)

结果是:

         x1          x2          x3 
"character" "character" "character" 
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这会导致字符向量而不是因子向量.

r apply r-factor

13
推荐指数
1
解决办法
7057
查看次数

在data.frame中检查列类时,apply()不起作用

我有一个数据帧.我想检查class每一列.

x1 = rep(1:4, times=5)
x2 = factor(rep(letters[1:4], times=5))
xdat = data.frame(x1, x2)

> class(xdat)
[1] "data.frame"
> class(xdat$x1)
[1] "integer"
> class(xdat$x2)
[1] "factor"
Run Code Online (Sandbox Code Playgroud)

但是,想象一下,我有很多列,因此需要apply()用来帮助我做到这一点.但它不起作用.

apply(xdat, 2, class)
         x1          x2 
"character" "character" 
Run Code Online (Sandbox Code Playgroud)

为什么我不能apply()用来查看每列的数据类型?或者我该怎么办?

谢谢!

r class apply

5
推荐指数
1
解决办法
1477
查看次数

标签 统计

apply ×2

r ×2

class ×1

r-factor ×1