r - 从 r 中的现有变量创建新的变量类别

标签 r categories categorization

这是数据:

var1 <- c("A", "B", "K", "L", "G", "M", "M")
var2  <- c("B", "A", "K", "L", "H", "M", "M")
mydata <- data.frame (var1, var2)
     var1 var2
1    A    B
2    B    A
3    K    K
4    L    L
5    G    H
6    M    M
7    M    M

我想创建新的类别变量,如果任何行的值相等,则该变量将属于同一类别。因此逐行比较(所有可能的都需要完成)。

例如,mydata[1,] 和 mydata[2,] 相等,因此它们在新变量类别中具有相同的值(例如 1)。关于我打算做的事情,这里有一个重要的要点。 var1, var2 的顺序可以是任意的,表示 [var1, var2] 的 [A, B] 与 [B, A] 相同

抱歉,我无法解决这个简单的问题。

编辑: 预期输出

 var1 var2   caterory
1    A    B   1 
2    B    A   1
3    K    K   2
4    L    L   3
5    G    H   4
6    M    M   5
7    M    M   6

最佳答案

mydata$var3<-as.factor(apply(mydata,1,function(x){paste(x[order(x)],collapse='')}))

> mydata
  var1 var2 var3
1    A    B   AB
2    B    A   AB
3    K    K   KK
4    L    L   LL
5    G    H   GH
6    M    M   MM
7    M    M   MM

> str(mydata)
'data.frame':   7 obs. of  3 variables:
 $ var1: Factor w/ 6 levels "A","B","G","K",..: 1 2 4 5 3 6 6
 $ var2: Factor w/ 6 levels "A","B","H","K",..: 2 1 4 5 3 6 6
 $ var3: Factor w/ 5 levels "AB","GH","KK",..: 1 1 3 4 2 5 5

关于r - 从 r 中的现有变量创建新的变量类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522189/

相关文章:

path - opencart 中存在 oc_category_path 表的要求是什么?

algorithm - 给定一堆项目,通过比较将它们分成有意义的组

python - 可视化多个分类值在数据框中的行和列之间有何不同

r - dunn 的循环数据帧列的测试

r - 对矩阵的连续行执行数学运算

r - ZIP 和 ZINB 模型在对数据进行子集化和分解时出现错误

html - 使用 CSS 显示/隐藏分类元素

r - 在同一图中绘制多个函数曲线

jQuery liveFilter 与类别过滤器结合

php - 移动自定义帖子类型的 wordpress 帖子及其类别以及类别的子父关系