r - 如何在 R 中构造和重新编码杂乱的分类数据?

标签 r statistics plyr

我正在努力解决如何最好地构建困惑的分类数据,这些数据来 self 需要清理的 dataset

编码方案

我正在分析大学科学类(class)考试的数据。我们正在研究模式 学生的 react ,我们开发了一个编码方案来表示事物的种类 学生们正在做他们的答案。编码方案的一个子集如下所示。

请注意,在每个主要代码(1、2、3)中都有嵌套的非唯一子代码(a、b、...)。

原始数据是什么样的

我创建了我的实际数据的匿名原始子集,您可以查看 here 。 我的部分问题是那些编码数据的人注意到一些学生显示 多种模式。编码人员的解决方案是创建足够多的列(reason1reason2、 ...) 以容纳具有多种模式的学生。这变得很重要,因为订单 (reason1, reason2) 是任意的——两个学生(比如我的学生 41 和学生 42 dataset )正确应用“依赖”的人都应该在分析中注册,无论 3a 出现在 reason 列还是 reason2 列。

如何最好地构建学生数据?

我的部分问题是在 raw data 中,并非所有学生都显示相同 模式,或相同数量的模式,以相同的顺序。有些学生可能只做一个 事情,别人可能会做几个。因此,示例学生的抽象表示可能 看起来像这样:

请注意,在上面的示例中,student002student003 都被编码为“1b”,尽管我故意将顺序显示为不同以反射(reflect) my data 的实际情况.

我的(实际)问题

  1. 我应该将 reason1reason2... 连接成一列吗?
  2. 我如何(重新)编码 R 中的 reason 以反射(reflect)某些学生的多样性?

谢谢

我意识到这个问题既关乎良好的数据概念化,也关乎 R 的特定功能,但我认为在这里问这个问题是合适的。如果你觉得我问这个问题不合适,请在评论中告诉我,stackoverflow 会自动在我的收件箱中塞满悲伤的表情。如果我不够具体,请告诉我,我会尽力说得更清楚。

最佳答案

让它“长”:

library(reshape)
dnow <- read.csv("~/Downloads/catsample20100504.csv")
dnow <- melt(dnow, id.vars=c("Student", "instructor"))
dnow$variable <- NULL ## since ordering does not matter
subset(dnow, Student%in%c(41,42)) ## see the results

接下来要做什么取决于您想要进行的分析类型。但是长格式对于像你这样的不规则数据很有用。

关于r - 如何在 R 中构造和重新编码杂乱的分类数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769688/

相关文章:

r - 在散点图中标记异常值

c# - 使用 Math.NET 计算临界值 T-Score

r - 不使用ddply和merge计算 "group characteristics"

machine-learning - 如何训练RBM等无监督神经网络?

r - 使用 ddply 分配组 ID

r - 如何使用ddply按组对数据进行子采样?

r - 如何使 PCA 矢量箭头加粗(更宽)?

r - geom_violin - "Error in grid.Call.graphics(C_lines, x$x, x$y, index, x$arrow) : invalid hex digit in ' 颜色'或 'lty'“

r - 如何确定字符向量是有效的数字向量还是整数向量

r - 在 R 中使用变量获取 lmList()