【发布时间】:2015-08-08 10:12:02
【问题描述】:
我已经在 SO 上多次看到这个 reshape2,但还没有看到解决我的特定问题的方法;
我有一个这样的数据集;
head(data)
student test score
Adam Exam1 80
Adam Exam2 90
John Exam1 70
John Exam2 60
我正在尝试将其转换为如下所示的宽格式;
Student Exam1 Exam2 ........ ExamX
Adam 80 90
John 70 60
使用;
dcast(data,student~test,value.var='score')
但数据最终看起来像这样;
Student Exam1 Exam2
Adam 0 0
John 0 1
出现此错误;
Aggregation function missing: defaulting to length
知道为什么要将所有这些值都更改为(0 或 1)吗?
【问题讨论】:
-
您需要提供一个序列列。但是,基于示例,它可以通过
dcast(data, student~test, value.var='score')提供一个包含重复行的示例 -
这不是错误。这是一个警告,让您知道,由于您没有为
fun.aggregate提供值(例如,fun.aggregate=mean),它默认返回长度,这是属于该类别组合的行数的计数.我在您的示例数据中没有看到job_type。你想要dcast(data,student ~ test ,value.var='score')吗? -
嗨,我现在有类似的问题,我不知道如何解决这个问题。问题是
value.var输入错误吗? -
@Bobesh:这是一段时间以前的事了,但仍然:有时一个简单的
object <- unique(object)可以工作,因为问题可能是由相同的重复行引起的。 -
@AlexDeLarge 在这种情况下什么是对象?