2017-09-20 15 views
0

私は、一部の学生がセッションを勉強するのに費やした時間を表す時間(24時間以上)を持っています。私はggplot2を使って時間と試験結果を調べる散布図を作っていきたいと思います。事は、データがlubridateの時間フォーマットである合計時間です、これを使ってどのようにプロットしますか?例:Rのrubridate時間を使用してggplot2散布図を作成するにはどうすればよいですか?

  Name   ID   Total Time Results 
1   Student1  xx-xxxxx-xx 9H 56M 0S 37.58 
2   Student2  xx-xxxxx-xx 10H 28M 0S 73.89 
3   Student3  xx-xxxxx-xx 6H 40M 0S 4.14 
4   Student4  xx-xxxxx-xx 3H 22M 0S 33.44 
+0

ポスト例:ここでは

は、あなたのデータを持つ例です。 – PoGibas

答えて

2

あなたlubridateTotal Time列を直接ggplotのようなものにプロットすることができない期間として表されます。幸いにも、あなたが望む任意のレベル(すなわち、時、分、秒)で潤滑剤の期間を数値オブジェクトに変換することは非常に簡単です。

その後、数字の時間ディメンションをx軸として、結果をy軸としてプロットするのは簡単です。あなたのデータの

library(lubridate) 

# Replicate your data 
example <- data.frame(Name = c("Student1","Student2","Student3","Student4"), 
      TotalTime = hms(c("09H 56M 0 S","10H 28M 0S","06H 40M 0S", "03H 22M 0S")), 
      Results = c(37.58,73.59,4.14,33.44)) 

example$TotalTime <- as.numeric(example$TotalTime, "hours") 

library(ggplot2) 
ggplot(example, aes(TotalTime, Results)) + geom_point() 

+0

時間スケールをあなたのように見せるにはどうすればいいですか?私のものは小数のように見えます。 – MigGon

+1

'as.numeric'のメソッドは、私が見つけることができるものとして文書化されていません。 'lubridate'に精通していると私は思っていますが、私はあなたのような' '時"の引数を使うことができたことは初めてのことでした。あなたはそれを見つけた場所を知っていますか? – Brian

+1

私は[issue](https://github.com/tidyverse/lubridate/issues/420)で、このアプローチをlubridate githubプロジェクトページで議論しました。 – dshkol

関連する問題