行番号を使用して時間単位のデータを月単位でグループ化するために、data.tableに新しい列を追加したいとします。行番号1〜744 = "7月"、745〜1488 = "8月"などこれは非常に簡単なことであるはずですが、行を参照して列を作成できる解決策を見つけるのが難しいです数。data.table:新しい列(月)
答えて
このようなデータを扱う私の好ましい方法は、ほとんどの形式の日付での作業が非常に簡単になるため、lubridate
というパッケージを使用することです。ただし、組み込み関数を使用して同じ結果を達成することもできます。もう少し仕事。今
pacman::p_load(lubridate)
df <- data.frame(Location = seq(1:10),
DateandTime = seq(Sys.time(), by="hours",
length=10),
Value = rnorm(10))
df
df$month <- month(df$DateandTime)
df
が別のオブジェクトから行インデックスによってそれを参照します
newdf <- data.frame(rowindex = seq(10,1))
for(i in 1:nrow(df)){
newdf$month[newdf$rowindex == i] <- df$month[i]
}
を今、あなたは、これはそれを反映するために微調整する必要があるかもしれませんわずかに異なる何かを意味します。だから@akrunは再現可能な例を求めていた。しかし、何か問題があれば、私に知らせてください。必要に応じてサンプルソリューションを調整します。
すばらしい返信をありがとう。それは正しい軌道に乗るのを助けました。最後に、次のようにして各行に日付/時刻を割り当てました。 – Bertie1810
申し訳ありませんが、私はdt1 <-POSIXlt( "2011-07-01 00:00:00")を使いました<-seq(dt1 、by = "hour"、length = 8784)、データフレームに列として追加しました。 – Bertie1810
@ Bertie1810あなたが適切な解決策を見つけたらうれしいです。いったん時間がたつと、あなた自身の質問に答えを加えて、それを解決策としてマークすることができます。もし私が小さな助けを提供することができれば、アップヴォートは常に評価されるだろうが、当然のことではない。 :)記録のために私はあなたの質問をupvoteでしたが、他の誰かがdownvotedとそれをキャンセルしました。 –
- 1. R:新しい列の作成以下data.table
- 2. R data.tableは行を削除します(12月のみ)
- 3. 別のdata.tableの列を照合してdata.tableをサブセット化
- 4. data.table SD which.mac列名
- 5. サブセットdata.table列独立
- 6. 前月の合計の新しい列の導入
- 7. 日付を月 - 年に変換する新しい列パンダPython
- 8. 別の列とグループの値に基づいて新しいdata.table列を作成する
- 9. data.tableでの動的および条件付き列の更新
- 10. ループを使ってdata.table列を順次更新する
- 11. r data.table結合で複数の列を更新する
- 12. data.tableの複数の列を更新する
- 13. Googleマップウェブ(11月2017新しいUI)マーカーアイコン
- 14. .SD列のdata.tableがR
- 15. data.tableの列間の相違
- 16. Rループは一致data.table列
- 17. 更新1月
- 18. 別のdata.tableの値を参照してdata.tableに列を追加する
- 19. 複数の新しいdata.table列をプログラムで定義する好ましい方法は何ですか?
- 20. dplyr/data.tableを使用してデータフレームにカスタム関数を使用して新しい列を追加する
- 21. data.tableをループして新しい列を作成する条件があります
- 22. data.table
- 23. data.table
- 24. data.table
- 25. 遅いdata.tableサブセットdplyr
- 26. 毎月新しいデータでExcelチャートを更新し、最後の1か月間を最後に転記
- 27. R内のdata.tableの列値を別の列の値に基づいて更新する
- 28. 新しい列を追加するときにdata.tableがコピーされるのはなぜですか?
- 29. 実行中のファイル名をdata.tableに更新します。
- 30. data.table:いくつかの列を除いてprettyNum()
再現可能な例を表示してください。 'c(" Jul "、" Aug "、....)[rep(1:12、each = 744)]' – akrun