6

Rで秒単位で測定されたデータがある場合boxplot、y軸のスケールを秒から分および秒に変更するにはどうすればよいですか?

たとえば、次のようなことをすると:

data <- c(298, 507, 1008, 346)
boxplot(data)

300 から 1000 までの y 軸を取得boxplotします。代わりに、「5:00」から「16:40」までを表示したいと思います。秒を分と秒に変換するだけです。

4

2 に答える 2

8

これが試みです。最初に y 軸をオフにしてから、データを分に変換し、目盛りとして y 軸に追加します。

data <- c(298, 507, 1008, 346)
boxplot(data, yaxt="n")
at <- axTicks(2)
axis(2, at=at, labels=sprintf("%d:%02d", at %/% 60, at %% 60), las=1)

少し説明するには:

axTicks" R が内部的に行うのと同じ方法で、プリティ ティックマークの位置を計算します。 " (から?axTicks)。

%%は除算後の剰余を返します%/%が、与えられた場合は にx %/% y何回x入るかを教えてくれますy

最後に、はsprintf文字列の書式設定に使用され、計算された秒の値をパディングして、0必要に応じて常に先頭に を追加します。202

ここに画像の説明を入力

于 2013-02-03T11:30:22.057 に答える
3

関数の代替axis.POSIXct

data <- c(298, 507, 1008, 346)
data2 <- as.POSIXct(data, origin=cut(Sys.time(), "hours"))
boxplot(data2, pars=list(yaxt="n"))
axis.POSIXct(2, at=pretty(data2), format="%M:%S", las=2)

ここに画像の説明を入力

于 2013-02-06T08:41:18.340 に答える