在同一data.frame中分组/重新编码因子

假设我有一个这样的数据框:

df <- data.frame(a=letters[1:26],1:26)

而且我想“重新”将a,b和c因子视为“a”.

我怎么做?

有没有人尝试过这种简单的方法?它不需要特殊的包装,只需了解R如何处理因素.

假设您要重命名因子中的级别,获取其索引

data <- data.frame(a=letters[1:26],1:26)
lalpha <- levels(data$a)

在这个例子中,我们想象我们想知道级别’e’和’w’的索引

lalpha <- levels(data$a)
ind <- c(which(lalpha == 'e'), which(lalpha == 'w'))

现在我们可以使用这个索引来代替因子’a’的水平

levels(data$a)[ind] <- 'X'

如果你现在看一下数据帧因子a,那么会有一个X,其中有一个e和w

我留给你试试结果.

相关文章
相关标签/搜索