注目の投稿

【kepler.gl】コロナ対策による人流の変化も地図上に可視化(各種メディアで報道)

kepler.glのサイト画面 kepler.glを使ってコロナ対策の効果を分析したところ、テレビ、新聞、ネットのメディアから問い合わせや報道依頼が殺到。今も、土日返上で都内や全国の人流変化を分析しています。この記事では人流変化の可視化に便利なkepler.glにつ...

2019年7月12日金曜日

R 任意の行でデータを分割

【目的】 任意の行でデータを分割する
【方法】 データ名[最初の行:最後の行]

#テスト用データを作成

library(data.table)  #データテーブル作成のために読み込む

> data <- data.table(No = 1:10,random = runif(10, min = 0, max = 1))
> data
    No      random
 1:  1 0.301603490
 2:  2 0.745845367
 3:  3 0.559383677
 4:  4 0.737294025
 5:  5 0.525487942
 6:  6 0.361071876
 7:  7 0.259251202
 8:  8 0.002998326
 9:  9 0.909486709
10: 10 0.895856187

*runifで0~1までの実数をランダムに生成

#3行目までを分割する

> data_a <- data[1:3]
> data_a
   No    random
1:  1 0.3016035
2:  2 0.7458454
3:  3 0.5593837

あれ、randomの値が四捨五入されてる??

#dataを半分に分割する

*lengthでベクトルの長さが分かるのでそれを2で割れば半分に分割できる

> data_1 <- data[1:(length(data$random)/2)]
> data_2 <- data[(length(data$random)/2+1):(length(data$random))]
> data_1
   No    random
1:  1 0.3016035
2:  2 0.7458454
3:  3 0.5593837
4:  4 0.7372940
5:  5 0.5254879
> data_2
   No      random
1:  6 0.361071876
2:  7 0.259251202
3:  8 0.002998326
4:  9 0.909486709
5: 10 0.895856187
>

data_1は四捨五入されてるけど、data_2は元の値だ。なぜ??

0 件のコメント :

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。