亲爱的#1社区,
我已经到处找,但无法找到这个问题的答案。 我试图访问该因素的查找表,当你改变一个字符串矢量注入因素向量R使用。 我不是一个字符串转换为一个因素,而是以获取查找表中的因子变量基本并将其保存为其他地方使用的哈希表。
我遇到的问题,因为我想利用这个因素查找表的不同长度的矢量的名单上,将它们从字符串转换为数字。
也就是说,我的,我要转换为数字项目集列表,但每一组列表中有不同数量的项目。
到目前为止,我已经转换向量列表插入载体
vec <- unlist(list)
vec <- factor(vec)
现在我想做的原始清单,必须根本VEC因子查找表的查找,但我似乎无法找到它。
我认为你要么需要哪些因素的元素映射到因子水平的元素,如索引:
vec <- c('a','b','c','b','a')
f <- factor(vec)
f
#> [1] a b c b a
#> Levels: a b c
indx <- (f)
attributes(indx) <- NULL
indx
#> [1] 1 2 3 2 1
或者你想在内部用于创建因子变量的哈希表。 不幸的是,创造一个因素的过程中产生的任何哈希表,将由职能创造unique
和match
它们的内部功能,所以你不会有机会获得任何这些功能创建(当然比的返回值等)。 如果你想要一个哈希表,所以你可以用相同的水平您现有的因素用它来索引特征向量,只需创建一个哈希表,如:
library(hash)
.levels <- levels(f)
h <- hash(keys = .levels,values = seq_along(.levels))
newVec <- sample(.levels,10,replace=T)
newVec
#> [1] "a" "b" "a" "a" "a" "c" "c" "b" "c" "a"
values(h,keys = newVec)
#> a b a a a c c b c a
#> 1 2 1 1 1 3 3 2 3 1