-2

こんにちは私は多くの変数が最初の列にあり、それらの日付が2番目の列にあり、それらのデータが3番目の列にある形式でcsvファイルを読み取る方法を知る必要があります

VARIABLES      DATE       DATA
V1           1/03/2012    1000  
V1           1/04/2012    1500
..
V1           1/12/2012    2600
V2           1/03/2012    900
V2           1/04/2012    1200
...
V2           1/12/2012    1000
V3           1/03/2012    200
....

データと日付に対応して各変数Viを抽出するにはどうすればよいですか(たとえば、配列で??)

4

2 に答える 2

1

サンプル データはcsv形式にありません。read.tableファイルを読み取るために使用できます:

dat <- read.table(text="VARIABLES      DATE       DATA
V1           1/03/2012    1000  
V1           1/04/2012    1500

V1           1/12/2012    2600
V2           1/03/2012    900
V2           1/04/2012    1200

V2           1/12/2012    1000
V3           1/03/2012    200", header = TRUE)

これでデータフレームが作成されます。VARIABLESsplit 関数を使用して、より小さいデータ フレームのリスト ( の値ごとに 1 つ) を作成できます。

split(dat, dat$VARIABLES)

結果:

$V1
  VARIABLES      DATE DATA
1        V1 1/03/2012 1000
2        V1 1/04/2012 1500
3        V1 1/12/2012 2600

$V2
  VARIABLES      DATE DATA
4        V2 1/03/2012  900
5        V2 1/04/2012 1200
6        V2 1/12/2012 1000

$V3
  VARIABLES      DATE DATA
7        V3 1/03/2012  200
于 2013-01-23T10:01:27.003 に答える
0

Svenの答えに基づいて構築する別の方法は、reshapeパッケージを使用してデータを再形成することです。

> library(reshape)
> dat.m <- melt(dat, id.vars=c('VARIABLES', 'DATE'))
> head(dat.m)
  VARIABLES      DATE variable value
1        V1 1/03/2012     DATA  1000
2        V1 1/04/2012     DATA  1500
3        V1 1/12/2012     DATA  2600
4        V2 1/03/2012     DATA   900
5        V2 1/04/2012     DATA  1200
6        V2 1/12/2012     DATA  1000
> dat.c <- as.data.frame(cast(dat.m, VARIABLES~DATE+.))
> head(dat.c)
  VARIABLES 1/03/2012 1/04/2012 1/12/2012
1        V1      1000      1500      2600
2        V2       900      1200      1000
3        V3       200        NA        NA

基本的な考え方は次のとおりです。(識別子列) と(実際に測定するもの) をmelt区別し、指定された ID を持つデータ フレームを再フォーマットし、列を測定して、既定の形式 (および列) にします。その後、データをどのように表示するかを指定できます。基本的なルールが見つかるまで、 の正しい構文を理解するのに苦労しました。式の引数では、式の引数の左側にあるものはすべて行に揃えられ、右側にあるものはすべて列に揃えられます。id.varsmeasure.varsvariablevaluecastcast~

この要点も参照してください: https://gist.github.com/4603945

于 2013-01-23T10:10:23.620 に答える