17865

[code]

    time data 
    1 67
    2 39
    
    2000 45
    
[/code]

time.csvというデータが有りますが（下参照）、2つ実現できないことがあって困っています。  
1,R上で1～1500まで切り取って新しいデータセットを作る。  
2,すでに推定の終わっているモデルを用いてdataの隣にpredictのデータを並べる。  
（例） predict=3+time*1.4

一応いろいろ試してはいますがうまく行きません。  
下のコードだとエラーが出てしまいます。

[code]

    data <-read.csv("time.csv",header=TRUE)
    pre<-data.frame(time=1：1500,data=data,predict=3+time*1.4)
    
[/code]

EXCELだと簡単ですがRだとパッケージ分析ばかりやっていてクリーニングはEXCELにやらせていましたが、データが大きくなったり複雑になるとRのほうが楽だと思い今回質問させていただきました。RstudioやパッケージでSQLを使うという手もあるかと思いましたがRを用いる方向でお願い致します。

**結果**  
1の方でとりあえずやってみましたが、

[code]

    data <-read.csv("time.csv", header=TRUE)
    pre<-data.frame(jikan=data$time[1:1000,],deeta=data$data[1:1000,])
    Error in data$data[1:1000,]: incorrect number of dimensions
    
[/code]

のようなエラーが出てしまいます。元データを見てもずれはないようですし、timeがintでdataがnumだったのをどちらもnumに揃えてもエラーが変わりません。  
どこに問題があるのでしょうか？

**結果2**

[code]

    > pre<-data.frame(jikan=data$time[1:1000],deeta=data$data[1:1000])
    Error in data.frame(jikan = data$time[1:1000], deeta = data$data[1:1000]) : 
    引数に異なる列数のデータフレームが含まれています: 0, 1000 
    
[/code]

と今度はエラーが出ました。どのように対処すればよろしいでしょうか。

**追記**

[code]

    > head(data,n=10)
      time data
    1    1  7.8
    2    2  5.6
    3    3  5.1
    4    4  7.3
    5    5 10.8
    6    6  6.2
    7    7  5.2
    8    8  5.5
    9    9  5.7
    10  10  6.3
    
[/code]

です。


CC BY-SA 3.0
2015-10-20T11:33:23.493
17860
2015-10-21T15:17:19.853
2015-10-21T10:13:02.613
12457
12457
question
r database
Rを用いたデータの整理と生成


※ 質問欄に掲載されている `time.csv` ですが、スペース区切りに見えます。一応、以下の回答ではカンマ区切りを前提としています。

> 2,すでに推定の終わっているモデルを用いてdataの隣にpredictのデータを並べる。

`data` はデータフレームですので、列データに `$` でアクセスして `[1:1500]` で範囲を指定します。

[code]

    data <-read.csv("time.csv", header=TRUE)
    pre <- data.frame(data[1:1500,], predict=3+(data$time[1:1500])*1.4)
    
[/code]

**追記**

質問欄の結果2について、こちらでの実行手順を以下に示します。

[code]

    $ head time.csv
    time,data
    1,422
    2,624
    3,808
      :
    1998,49
    1999,628
    2000,592
    
    $ R --version
    R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
    
    $ R
    > data <-read.csv("time.csv", header=TRUE)
    > pre <- data.frame(jikan=data$time[1:1000],deeta=data$data[1:1000])
    > head(pre)
      jikan deeta
    1     1   422
    2     2   624
    3     3   808
    4     4   888
    5     5   484
    6     6   739
    > str(pre)
    'data.frame':   1000 obs. of  2 variables:
     $ jikan: int  1 2 3 4 5 6 7 8 9 10 ...
     $ deeta: int  422 624 808 888 484 739 357 677 588 907 ...
    
[/code]


CC BY-SA 3.0
2015-10-20T12:09:43.270
17865
2015-10-21T10:28:27.250
2015-10-21T10:28:27.250
17860
answer


data.frameのサブセットは、以下のようにつくれます。

[code]

    data_partial <- data[1:1500, ]
    
[/code]

カラムの追加は以下のようにできます。毎回`data.frame()`で作り直す必要はありません。

[code]

    data_partial$predict <- 3 + data_partial$time * 1.4
    
[/code]


CC BY-SA 3.0
2015-10-21T15:17:19.853
17909
2015-10-21T15:17:19.853
2544
17860
answer