-1

より多くの被験者と時間を除いて、次のような経時的データがあります。

Date        Sub1  Sub2   Sub3 
8/10/2012   19.0  18.9   20.7 
8/13/2012   19.0  19.1   19.5 

各科目 (サブ 1、サブ 2、およびサブ 3) にスコアが与えられる日付があります。reshape または他の R パッケージを使用してこれを長い形式に変更するにはどうすればよいですか? したがって、次のようになります。

Subject Score Date
Sub1    19.0  8/10/2012
Sub1    19.0  8/13/2012
Sub2    18.9  8/10/2012
Sub2    19.1  8/13/2012
Sub3    20.7  8/10/2012
Sub3    19.5  8/13/2012 
4

2 に答える 2

1

Base R のreshape関数は、入力の指定方法を知っていれば、これらのタイプの問題に対してもうまく機能します。

reshape(dat, direction = "long", 
        idvar = "Date", timevar = "Subject", 
        varying = 2:ncol(dat), sep = "")
#                  Date Subject  Sub
# 8/10/2012.1 8/10/2012       1 19.0
# 8/13/2012.1 8/13/2012       1 19.0
# 8/10/2012.2 8/10/2012       2 18.9
# 8/13/2012.2 8/13/2012       2 19.1
# 8/10/2012.3 8/10/2012       3 20.7
# 8/13/2012.3 8/13/2012       3 19.5
于 2013-02-08T05:02:17.110 に答える
0

あなたのデータが呼び出された場合dat

dat <- read.table(text="Date        Sub1  Sub2   Sub3 
                    8/10/2012   19.0  18.9   20.7 
                    8/13/2012   19.0  19.1   19.5 ",header=TRUE)

  library(reshape2)
  melt(dat)

  # explicitly you would use Date as AN id
  # melt(dat, id = "Date")
于 2013-02-07T19:32:06.780 に答える