【发布时间】:2014-11-08 12:03:34
【问题描述】:
假设我在一个数据框中有三列。我想将这些合并到一个列中。三列中的每一列都是一个二元属性,例如绿/黄、红/蓝、黑/白等。
我想将所有这些合并到一个包含多个的列中
row1=c(0,0,1)
row2=c(1,0,0)
row3=c(0,1,0)
df=data.frame(rbind(row1,row2,row3))
有没有办法将这些列中的每一个合并到一个列中?单列现在必须有六个不同的因子,而不是它已经有的两个。
谁能告诉我如何编码?
【问题讨论】:
-
为什么是六级而不是八级?
-
您希望结果有九行吗?
-
您好,抱歉,我认为我的示例很难遵循。如果每列是红色/蓝色、黑色/白色、绿色/黄色,则每列只有两个可能的值。想象这是一辆汽车……它只能是一种颜色。因此,我会将其转换为 1 列:“颜色”,因此它将具有上面列出的 6 个可能值。但是,由于我正在使用的数据每列的编码为 0/1,我需要一种方法来明确这一点。
-
您的示例并未反映这一点。例如,假设每行中的第一列代表红色/蓝色,第二列代表黑色/白色,第三列代表绿色/黄色,由列中的值 0/1 表示。然后第一行显示红色、黑色和黄色。
-
如果这些是因素,请编辑问题以反映这一点。 (就目前而言,您的评论更正不连贯。)
标签: r merge categorical-data