尝试在R中设置散列映射的值时,环境子分配的错误args

时间:2015-04-23 14:12:25

标签: r

我尝试在R中使用HashMaps并收到以下错误消息:

wrong args for environment subassignment

这是我做的:

lvls <- union(levels(data$p1), union(levels(data$p2),levels(data2$p3)))
map <- new.env(hash=T, parent=emptyenv())
map[[lvls]] <- 1:length(lvls)
Error in map[[lvls]] <- 1:length(lvls) : 
  wrong args for environment subassignment

typeof(lvls):character

奇怪map[["example-value of lvls"]] <- 1工作得很好 但是map[[lvls]] <- 1没有

我最终要做的是将p1,p2和p3的字符转换为因子,而相同的字符应该是相同的因素。

1 个答案:

答案 0 :(得分:3)

我不明白你为什么要在这里使用环境,但是你不能一次用[[运算符分配多个元素。最好使用assign()而不只是mapply()超过您的值

Map(assign, lvls, seq_along(lvls), MoreArgs=list(envir=map))