如何根据r中的多个因素对数据点进行分类
我想在一个数据集中按因素的级别对案例进行分类。以下是一个例子: 假设数据帧是这样的如何根据r中的多个因素对数据点进行分类,r,R,我想在一个数据集中按因素的级别对案例进行分类。以下是一个例子: 假设数据帧是这样的 (foo <- data.frame(cat1 = c("a", "b", "c"), cat2 = c("two", "two", "one"), cat3 = c("alpha", "beta", "beta"))) ## cat1 cat2 cat3 ## 1 a two alpha ## 2 b tw
(foo <- data.frame(cat1 = c("a", "b", "c"),
cat2 = c("two", "two", "one"),
cat3 = c("alpha", "beta", "beta")))
## cat1 cat2 cat3
## 1 a two alpha
## 2 b two beta
## 3 c one beta
基本上,我希望得到一个如下所示的数据帧
(foo_res <- cbind(foo, group = c(4,11,9)))
## cat1 cat2 cat3 group
## 1 a two alpha 4
## 2 b two beta 11
## 3 c one beta 9
(foo_res您可以使用merge
> names(foo2) <- names(foo)
> foo2$group <- rownames(foo2)
> merge(foo, foo2, all=FALSE)
cat1 cat2 cat3 group
1 a two alpha 4
2 b two beta 11
3 c one beta 9
> names(foo2) <- names(foo)
> foo2$group <- rownames(foo2)
> merge(foo, foo2, all=FALSE)
cat1 cat2 cat3 group
1 a two alpha 4
2 b two beta 11
3 c one beta 9
> foo <- data.frame(cat1 = c("a", "b", "c"),
cat2 = c("two", "two", "one"),
cat3 = c("alpha", "beta", "beta"))
> foo2 <- expand.grid(c("a", "b", "c"),
c("one", "two"),
c("alpha", "beta"))