首页 > 解决方案 > 使用 unclass() 函数的目的是什么?以及为什么会出现错误“”列索引必须最多为 2 如果是正数,而不是 3、4、5、6、7、8、9、10

问题描述

在 r 中使用 unclass() 函数的目的是什么?我做错了。
你可以用下面的代码来消除它吗?

unclass(tele%>%mutate(dec=ntile(rev_Range,n=10))%>%count(dec)%>%unname())[[2]]

标签: r

解决方案


让我试着解释一下'unclass'的用法

假设你有这个颜色向量:

cores = c('blue','green','red')

以及存储为因子的一组字符串,例如:

val = c('setosa','setosa','virginica','versicolor','virginica','setosa')

val_fac = factor(val)

如果将 unclass 应用于这组因子, unclass 会将因子转换为它们的数字,例如:

unclass(val_fac)

[1] 1 1 3 2 3 1
attr(,"levels")
[1] "setosa"     "versicolor" "virginica" 

使用这些数字,您可以通过执行以下操作将因子转换为颜色:

cores[unclass(val_fac)]

[1] "blue"  "blue"  "red"   "green" "red"   "blue" 

希望这对你有帮助,

此致,

古斯塔沃


推荐阅读