首页 > 解决方案 > 在 R 中处理时间变量以进行 ANOVA

问题描述

我对 R 来说相对较新。我正在做一个实验,我测量一对昆虫在 14 天内在不同的发光条件下交配的确切时间(12:12H 亮/暗,连续光,连续暗)。这个想法是用方差分析分析这些数据,但我遇到了数据问题。所以我有一个包含 3 列的 .csv 文件:光照条件、日期和时间。分析不需要日期,所以我不需要它。但是我无法将时间数据转换为 R 可以使用的适当数据。我已经尝试过read.csv(file="",stringsAsFactors = FALSE),但它根本不起作用,我也尝试过lubridate,as.POSIX功能,strptime()但似乎没有任何效果(或者我根本没有转换数据以进行适当的分析)

先感谢您。

标签: rtimelubridate

解决方案


看起来您在两个不同的列中有日期和时间,而时间只有小时和分钟。您可以paste使用适当的 将它们组合并转换为日期时间format

df$DateTime <- as.POSIXct(paste(df$Dia, df$Hora),
                         format = "%Y-%m-%d %H:%M",tz = "UTC")
#Can also use strptime
df$DateTime <- strptime(paste(df$Dia, df$Hora), 
                       format = "%Y-%m-%d %H:%M", tz = "UTC")

或与lubridate

df$DateTime <- lubridate::ymd_hm(paste(df$Dia, df$Hora))

推荐阅读