我对R和编程还很陌生,现在我遇到了一个问题,我的data.frame无法让我继续工作。
我有一组如下的数据
表1
Individual Score
Tim 45
Tim 77
Tim 32
Clare 92
Clare 70
Clare 88
让我解释一下上面的表格1,我有几个人(例如上面的TIm和Clare),并且我知道他们在3个不同场合(2009年、2010年、2011年)参加考试时的得分。我正在尝试将上述内容转换为以下形式:
表格2
Individual Score09 Score10 Score11
Tim 45 77 32
Clare 92 70 88
我使用ddply获得了表格1,因为我最初拥有测试子集信息(变量分数只是所有子集的总和)。
请告诉我是否有一种方法可以最终获得表2而不是表1,因为我有超过10000个观测值,表1设置不允许我按照预期进行操作。
编辑:
生成表格1的原始df如下所示:
数据框如下:
Base Individual score_math score_bio score_chem
SB1120091 Tim 12 23 10
SB1120092 Tim 30 25 22
SB1120101 Tim 17 5 10
SB1120091 Clare 50 20 22
SB1120092 Clare 40 10 20
SB1120101 Clare 47 20 21
代码如下:
>Table1 <-ddply(x, .(个人), summarise, 分数=(数学分数*生物分数*化学分数))
EDIT2:
原始数据集中没有年份变量,但有一个基础变量提供了关于测试时间的信息。
另外,分数变量是由所有子集分数的乘积计算得出的。