让我们通过检查的事情得到这样的:
首先state.region是一个因素,让我们来看看它:
> dput(state.region)
structure(c(2L, 4L, 4L, 2L, 4L, 4L, 1L, 2L, 2L, 2L, 4L, 4L, 3L,
3L, 3L, 3L, 2L, 2L, 1L, 2L, 1L, 3L, 3L, 2L, 3L, 4L, 3L, 4L, 1L,
1L, 4L, 1L, 2L, 3L, 3L, 2L, 4L, 1L, 1L, 2L, 3L, 2L, 2L, 4L, 1L,
2L, 4L, 2L, 3L, 4L), .Label = c("Northeast", "South", "North Central",
"West"), class = "factor")
调用levels
给我们的角色该因子的标签的载体:
> dput(levels(state.region))
c("Northeast", "South", "North Central", "West")
其中有趣的是自带的时候你给的因素作为选择这个特征向量,想象它是调用as.integer的因素最简单的方法:
> dput(as.integer(state.region))
c(2L, 4L, 4L, 2L, 4L, 4L, 1L, 2L, 2L, 2L, 4L, 4L, 3L, 3L, 3L,
3L, 2L, 2L, 1L, 2L, 1L, 3L, 3L, 2L, 3L, 4L, 3L, 4L, 1L, 1L, 4L,
1L, 2L, 3L, 3L, 2L, 4L, 1L, 1L, 2L, 3L, 2L, 2L, 4L, 1L, 2L, 4L,
2L, 3L, 4L)
所以基本上是那些复合命令结束了做是:
> c("Northeast", "South", "North Central", "West")[c(2L, 4L, 4L, 2L, 4L, 4L, 1L, 2L, 2L, 2L, 4L, 4L, 3L, 3L, 3L,
3L, 2L, 2L, 1L, 2L, 1L, 3L, 3L, 2L, 3L, 4L, 3L, 4L, 1L, 1L, 4L,
1L, 2L, 3L, 3L, 2L, 4L, 1L, 1L, 2L, 3L, 2L, 2L, 4L, 1L, 2L, 4L,
2L, 3L, 4L)]
一个简单的语法来获取特征向量是使用as.vector(state.region)
。
或多或少,它是通过名称而不是索引来获取名称而不是索引。但我不确定这是否是您的问题... – Tensibai
我的问题听起来像这样:“它如何匹配/添加正确的区域名称,如果它没有通过索引但名称?” –
你正在寻找在这两种情况下,事实上(通过索引或名称)子因素是如何对的? – Tensibai