我一直在做一個睡眠分析項目一段時間,現在我收集了一些數據,我想做點什麼。首先,我已經註冊了我睡一會的運動,現在是一個.csv
文件像這樣:將數據轉儲到數據幀,然後繪製
0:58 1:08 1:18 1:28 1:38 1:48 1:58
3096 4062 903 113 1331 76 521
0:30 0:40 0:50 1:00 1:10 1:20 1:30
4081 1661 1198 70 841 1052 76
0:47 0:57 1:07 1:17 1:27 1:37 1:47
2327 1823 1354 1547 64 75 84
第一行是在間隔10分鐘,第二個時間是數量運動。每對線都是一夜的睡眠,數據一直持續到喚醒時間到達。
現在,我必須將數據導入到R然後使用它。我通過使用read.csv()
函數導入了數據。但是現在我被卡住了,我想我必須使用數據框來存儲數據,因爲我有一個數據的兩種類型是時間,另一個是整數。我已經使用了數組和矩陣,並且我無法真正理解數據框如何真正適合這個程序。在我理解數據框的情況下,我不知道如何處理不同大小的數組/框架,因爲每個夜晚都有不同的長度,這取決於我睡了多少。我想繪製平均夜間睡眠時間與平均移動的時間線。
我想知道我對使用數據框的假設是否正確,以及如何處理不同長度的數組以創建所有數組的平均值。
預先感謝您!
編輯
使用@Pierre Lafortune代碼:
library(ggplot2)
df <-read.csv('/Users/jdmg718/Dropbox/GitHub/SleepAnalysisWithR/Movement.csv', stringsAsFactors=FALSE)
s <- split(df, rep(1:2, nrow(df)/2))
newdf <- as.data.frame(sapply(s, function(u) unlist(t(u))), stringsAsFactors=FALSE)
names(newdf) <- c('Time', 'Movements')
newdf[,2] <- as.numeric(newdf[,2])
ggplot(newdf, aes(x=Time, y=Movements, group=1)) + geom_line()
我收到以下錯誤:
Warning messages:
1: In split.default(x = seq_len(nrow(x)), f = f, drop = drop, ...) :
largo de datos no es múltiplo de la variable de separación
2: In eval(expr, envir, enclos) : NAs introducidos por coerción
很難理解你的要求沒有[重複的例子(HTTP:/ /adv-r.had.co.nz/Reproducibility.html)...當執行'a < - read.csv(「yourdata.csv」)'時,結果對象'a'是'data.frame' 。通常,'R'正確解釋你的變量是否是'factor','integer'或'numeric'類型。 – Stefan