2

data.table を使い始めました。実際、これは非常に高速で非常に優れた構文です。デートで悩んでいます。私は潤滑剤を使用するのが好きです。私のデータセットの多くには、日付または日付と時刻があり、lubridate を使用してそれらを操作しました。Lubridate はインスタントを POSIX クラスとして保存します。たとえば、年を取得するためだけに新しい変数を作成する回答をここで見ました。2005.私はそれが好きではありません。年ごとに分析することもあれば、四半期ごとに分析することもあれば、月ごとに分析することもあれば、期間ごとに分析することもあります。私はこのような簡単なことをしたいと思います

mydatatable[,length(medical.record.number),by=year(date.of.service)]

これにより、特定の年に患者に遭遇した数がわかります。by 関数が機能していません。

Error in names(byval) = as.character(bysuborig) : 
  'names' attribute [2] must be the same length as the vector [1]

data.tables が日付と共に使用され、それらの日付の操作と分類がその場で行われるビネットを教えてください。

4

1 に答える 1

3

これは、help(IDateTime)ページ内の例の 1 つを使用します。「=」形式の文字値への引数の構文に変更できること、by=または(以下の@Matthew Dowleのコメントの後)使用していた関数形式を使用しようとすることができることを示しています(ただし、私はできませんでした)or変数by=list(wday=wday(idate))がないため、キーの作成は IDateTime クラスを想定していることに注意してください。それらはクラスの属性ですidateitime

datetime <- seq(as.POSIXct("2001-01-01"), as.POSIXct("2001-01-03"), by = "5 hour")    
(af <- data.table(IDateTime(datetime), a = rep(1:2, 5), key = "a,idate,itime"))

 af[, length(a), by = "wday = wday(idate)"]
         wday V1
[1,]    2  4
[2,]    3  5
[3,]    4  1
于 2011-11-22T02:32:13.070 に答える