我正在努力解决如何最好地构建混乱的分类数据,并且来自我需要清理的数据集.
我正在分析大学科学课程考试的数据.我们正在研究学生反应中的模式,我们开发了一种编码方案来表示学生在答案中所做的事情.编码方案的子集如下所示.
注意,在每个主要代码(1,2,3)内是嵌套的非唯一子代码(a,b,...).
我已经创建了一个我的实际数据的匿名原始子集,您可以在此处查看.我的部分问题是编码数据的人注意到一些学生显示了多种模式.该编码器的解决方案是建立足够的列(reason1,reason2,...),让学生理解使用多种模式.这变得很重要,因为顺序(reason1,reason2)是任意的 - 正确应用"依赖"的两个学生(如我的数据集中的学生41和学生42
)应该在分析中注册,无论是3a出现在reason列还是reason2列中.
我的部分问题是,在原始数据中,并非所有学生都以相同的顺序显示相同的模式或相同数量的模式.有些学生可能只做一件事,有些可能做几件.因此,示例学生的抽象表示可能如下所示:
请注意,在上面的示例中student002,student003两者都被编码为"1b",尽管我故意将顺序显示为不同以反映我的数据的实际情况.
reason1,reason2,...成一列?reasonR中的s以反映某些学生的多样性?我意识到这个问题与良好的数据概念化同样重要,因为它与R的特定功能有关,但我认为在这里提出它是合适的.如果您觉得我提出这个问题是不合适的,请在评论中告诉我,stackoverflow会自动使用sadface表情符号填充我的收件箱.如果我不够具体,请告诉我,我会尽力让自己更清楚.
让它"长":
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
Run Code Online (Sandbox Code Playgroud)
下一步做什么将取决于您想要做的分析类型.但是长格式对于像你这样的不规则数据很有用.
| 归档时间: |
|
| 查看次数: |
902 次 |
| 最近记录: |