在R中堆叠数据文件

时间:2018-05-03 19:47:50

标签: r stack reshape reshape2 melt

我正在寻找堆叠我在R中的数据文件,并且正在努力寻找我的问题的解决方案。我有49个变量,名为i1.1,i1.2,1.3,i1.4,i1.5,i1.6,i1.7 ... i7.6,i7.7。并且我想将所有i1与一个新变量一起堆叠,指定变量名称的最后一部分,例如,如果该值来自i1.3,则新变量将包含值3.另一件事我在我的数据集中是希望在数据集中保留一个id变量,以便我能够在稍后阶段合并一些额外的数据。有没有人有代码或想法,我怎么能创造一些东西来做到这一点?我真的被卡住了。欢迎任何建议。提前谢谢。

    > #Call datafile
> testfile <-read_xlsx("C:/Users/rawlingsD/Documents/R Pre Analysis/Test stacking file.xlsx")
> head(testfile)
# A tibble: 3 x 50
  Respondent_ID  i1.1  i1.2  i1.3  i1.4  i1.5  i1.6  i1.7  i2.1  i2.2  i2.3  i2.4  i2.5  i2.6  i2.7  i3.1
          <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1           12.    3.    1.    7.    1.    7.    1.    5.    1.    7.    1.    1.    1.    9.    1.    8.
2           13.    2.    2.    2.    2.    2.    2.    2.    2.    2.    2.    2.    2.    2.    2.    2.
3           14.    3.    3.    3.    3.    3.    3.    3.    3.    3.    3.    3.    3.    3.    3.    3.
# ... with 34 more variables: i3.2 <dbl>, i3.3 <dbl>, i3.4 <dbl>, i3.5 <dbl>, i3.6 <dbl>, i3.7 <dbl>,
#   i4.1 <dbl>, i4.2 <dbl>, i4.3 <dbl>, i4.4 <dbl>, i4.5 <dbl>, i4.6 <dbl>, i4.7 <dbl>, i5.1 <dbl>,
#   i5.2 <dbl>, i5.3 <dbl>, i5.4 <dbl>, i5.5 <dbl>, i5.6 <dbl>, i5.7 <dbl>, i6.1 <dbl>, i6.2 <dbl>,
#   i6.3 <dbl>, i6.4 <dbl>, i6.5 <dbl>, i6.6 <dbl>, i6.7 <dbl>, i7.1 <dbl>, i7.2 <dbl>, i7.3 <dbl>,
#   i7.4 <dbl>, i7.5 <dbl>, i7.6 <dbl>, i7.7 <dbl>

这是我最后想要的数据集i2,i3等在i1旁边:

    > head(testfile_complete)
# A tibble: 6 x 3
  Respondent_ID image    i1
          <dbl> <dbl> <dbl>
1           12.    1.    3.
2           13.    1.    2.
3           14.    1.    3.
4           12.    2.    1.
5           13.    2.    2.
6           14.    2.    3.

1 个答案:

答案 0 :(得分:1)

如果您需要列,那么您可以:我只会为i1和i2

git commit