提问人:Sien Smania 提问时间:11/13/2023 最后编辑:Sien Smania 更新时间:11/13/2023 访问量:48
如何让 R 将我的变量识别为 POSIXct,以便将我的 x 轴分解为区间?
How can I get R to recognize my variable as POSIXct so that it breaks up my x-axis into intervals?
问:
我正在尝试根据以下代码中的分组获得 60 分钟内的平均温度group_by(类型、降雨量、日期时间)。我已经这样做了,但是,当我尝试绘制它时,我的图表显然没有将我的新“间隔”变量识别为 POSIXct 格式,即使我试图重新格式化它并检查其类以确保(这返回:“POSIXct”“POSIXt”)。我不确定这里的问题是它以某种方式同时存在于 POSIXct 和 POSIXt 中,还是其他原因,但对此事的任何帮助都会很棒!我的最终目标是在我的 x 轴上没有一百万个日期时间标签。我尝试使用 scale_x_datetime 在我的 x 轴上添加中断,但同样,由于它不会将我的间隔识别为日期时间,它给了我一个错误,说它不在 POSIXct 中。
df_Temps1 <- df_Temps1 %>%
mutate(interval = cut(datetime, breaks = "60 min"))
# calculate mean values for line graphs
df_Temps1.means <- df_Temps1 %>%
group_by(Type, Rainfall, interval) %>%
summarise(Temp_mean=mean(temperature, na.rm=TRUE), n=n(), sd=sd(temperature, na.rm=TRUE), se=sd/sqrt(n))
df_Temps1.means$se<-as.numeric(df_Temps1.means$se)
df_Temps1.means$Temp_mean<-as.numeric(df_Temps1.means$Temp_mean)
df_Temps1.means
df_Temps1$interval <- as.POSIXct(df_Temps1$interval, format = "%m/%d/%y %H:%M")
class(df_Temps1$interval)
p1 <- ggplot(df_Temps1.means, aes(x=interval, y=Temp_mean, color=Type)) +
aes(group=Type) +
geom_errorbar(aes(ymin=Temp_mean-se, ymax=Temp_mean+se), width=0.1) +
geom_line(aes(color=Type, linetype=Type), linewidth=1) +
geom_point(size=0.5) +
xlab("Time") +
ylab("Temperature (ºC)") +
scale_color_manual(values = my_colors) +
theme_bw() +
theme(text = element_text(size = 15)) +
theme(panel.grid.major = element_blank()) +
theme(panel.grid.minor = element_blank()) +
scale_y_continuous(expand=c(0,0)) +
theme(axis.text.x = element_text(angle = 45, hjust=1), axis.title.x = element_text(vjust=-1), legend.position="top",
legend.text = element_text(size=12), legend.title = element_blank(), legend.key.size = unit(1, 'cm'),
legend.background = element_rect(size = 0.5, linetype = "solid", colour = "black")) +
facet_grid(~Rainfall)
p1
以下是我的数据片段:
structure(list(Type = c("", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE", "Brown SAPE",
"Brown SAPE", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA", "Brown STSA",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE",
"Green SAPE", "Green SAPE", "Green SAPE", "Green SAPE", "Green STSA",
"Green STSA", "Green STSA", "Green STSA", "Green STSA", "Green STSA",
"Green STSA", "Green STSA", "Green STSA", "Green STSA", "Green STSA",
"Green STSA", "Green STSA", "Green STSA", "Green STSA", "Green STSA",
"Green STSA", "Green STSA", "Green STSA", "Green STSA", "Green STSA",
"Green STSA", "Green STSA", "Green STSA", "Green STSA", "Green STSA",
"Green STSA", "Green STSA", "Green STSA", "Green STSA", "Green STSA",
"Green STSA", "Green STSA", "Green STSA", "Green STSA", "Green STSA",
"Green STSA", "Green STSA", "Green STSA"), Rainfall = c(NA, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0), interval = structure(c(NA, 1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L,
18L, 19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L,
31L, 32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 1L, 2L, 3L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L,
32L, 33L, 34L, 35L, 36L, 37L, 38L, 39L, 1L, 2L, 3L, 4L, 5L, 6L,
7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L,
20L, 21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L,
33L, 34L, 35L, 36L, 37L, 38L, 39L, 1L, 2L, 3L, 4L, 5L, 6L, 7L,
8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L,
21L, 22L, 23L, 24L, 25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L,
34L, 35L, 36L, 37L, 38L, 39L), levels = c("2022-07-24 11:00:00",
"2022-07-24 12:00:00", "2022-07-24 13:00:00", "2022-07-24 14:00:00",
"2022-07-24 15:00:00", "2022-07-24 16:00:00", "2022-07-24 17:00:00",
"2022-07-24 18:00:00", "2022-07-24 19:00:00", "2022-07-24 20:00:00",
"2022-07-24 21:00:00", "2022-07-24 22:00:00", "2022-07-24 23:00:00",
"2022-07-25 00:00:00", "2022-07-25 01:00:00", "2022-07-25 02:00:00",
"2022-07-25 03:00:00", "2022-07-25 04:00:00", "2022-07-25 05:00:00",
"2022-07-25 06:00:00", "2022-07-25 07:00:00", "2022-07-25 08:00:00",
"2022-07-25 09:00:00", "2022-07-25 10:00:00", "2022-07-25 11:00:00",
"2022-07-25 12:00:00", "2022-07-25 13:00:00", "2022-07-25 14:00:00",
"2022-07-25 15:00:00", "2022-07-25 16:00:00", "2022-07-25 17:00:00",
"2022-07-25 18:00:00", "2022-07-25 19:00:00", "2022-07-25 20:00:00",
"2022-07-25 21:00:00", "2022-07-25 22:00:00", "2022-07-25 23:00:00",
"2022-07-26 00:00:00", "2022-07-26 01:00:00"), class = "factor"),
Temp_mean = c(NaN, 31.9333333333333, 39.85, 42.1166666666667,
41.95, 38.1166666666667, 35.9333333333333, 30.7, 24.1666666666667,
20, 17.6166666666667, 15.8, 14.45, 13.75, 13.2, 12.5, 11.85,
11.0166666666667, 10.15, 10, 9.88333333333333, 9.5, 12.4,
21.5, 31.4833333333333, 37.6166666666667, 38.7166666666667,
39.2666666666667, 38.8333333333333, 36.45, 32.4166666666667,
26.3166666666667, 19.95, 16.3666666666667, 14.3333333333333,
12.4333333333333, 11.5333333333333, 12.2, 11.7666666666667,
11.15, 32.2333333333333, 35.2333333333333, 37.45, 38.0666666666667,
37.7666666666667, 35.5, 31.4666666666667, 26, 22.0666666666667,
19.6666666666667, 17.75, 16.45, 15.4666666666667, 14.7166666666667,
13.9, 13.1833333333333, 12.35, 11.5666666666667, 11, 10.85,
10.4833333333333, 12.1166666666667, 17.95, 25.3166666666667,
31.1833333333333, 33.9166666666667, 34.8833333333333, 35.05,
34.6333333333333, 32.3166666666667, 27.5833333333333, 22.1,
18.4666666666667, 16.45, 14.45, 13.05, 13.4833333333333,
13.0666666666667, 12.462962962963, 29.7, 32.5833333333333,
35.0166666666667, 36.6, 35.8166666666667, 34.15, 30.6833333333333,
25.2666666666667, 21.5, 19.2, 17.6333333333333, 16.4, 15.5166666666667,
14.8833333333333, 14.15, 13.45, 12.6833333333333, 11.8, 11.35,
11.15, 10.75, 11.6166666666667, 15.5833333333333, 21.5, 27.0333333333333,
30.8333333333333, 32.4333333333333, 32.9, 32.3166666666667,
30.7666666666667, 26.8833333333333, 21.4166666666667, 17.9333333333333,
16.1333333333333, 14.2, 12.95, 13.7, 13.6166666666667, 12.8793103448276,
31.9333333333333, 39.85, 42.1166666666667, 41.95, 38.1166666666667,
35.9333333333333, 30.7, 24.1666666666667, 20, 17.6166666666667,
15.8, 14.45, 13.75, 13.2, 12.5, 11.85, 11.0166666666667,
10.15, 10, 9.88333333333333, 9.5, 12.4, 21.5, 31.4833333333333,
37.6166666666667, 38.7166666666667, 39.2666666666667, 38.8333333333333,
36.45, 32.4166666666667, 26.3166666666667, 19.95, 16.3666666666667,
14.3333333333333, 12.4333333333333, 11.5333333333333, 12.2,
11.7666666666667, 11.15), n = c(32691L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 27L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 29L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L,
30L, 30L, 30L, 30L, 30L, 30L, 30L, 30L), sd = c(NA, 1.55215830452272,
0.57460631200249, 0.816672531060342, 0.355983339400925, 0.897153864992658,
1.26445663219924, 1.92801488046912, 1.54436312804482, 0.964901281354015,
0.552163976977188, 0.501721175485981, 0.379427881476018,
0.254273813857804, 0.310727733132933, 0, 0.351106624928903,
0.359197701142069, 0.2330457998497, 0, 0.339455276962181,
0.227429413073671, 2.19482149144534, 3.01719211782446, 2.72752045200251,
1.17944561299917, 0.284160388577968, 0.314405112414928, 0.479463301485384,
1.06956323667251, 1.4388892587168, 1.90951940755157, 1.60468065358812,
0.706293547126578, 0.530668630505232, 0.626062315579293,
0.668675135459372, 0.24913643956122, 0.285673231861683, 0.2330457998497,
1.59597194110097, 0.504006932993731, 0.577599073454219, 0.17287295182088,
0.552944053622771, 0.919145030018058, 1.47352107817163, 1.420296229422,
0.935260735665815, 0.530668630505232, 0.521106250334738,
0.379427881476018, 0.34574590364176, 0.284160388577968, 0.203419051086243,
0.278026708383768, 0.297981716634219, 0.217086242727652,
0, 0.2330457998497, 0.0912870929175277, 1.39384937922073,
1.94470988883281, 2.20689879669426, 1.45319703041102, 0.437140657023559,
0.215091533576038, 0.201288949968224, 0.392457626382451,
0.960274146679795, 1.57613305348846, 1.55585656638792, 0.69398068806149,
0.577599073454219, 0.634496813937274, 0.422431385981284,
0.0912870929175277, 0.34072269373053, 0.133440128170906,
1.33649051495015, 0.542715606819131, 0.759801849546783, 0.275430697209874,
0.675728640359648, 0.70893314698676, 1.39261186842995, 1.41867673490507,
0.919145030018058, 0.518618855462641, 0.434172485455305,
0.357192114829753, 0.334337567729686, 0.215091533576038,
0.2330457998497, 0.379427881476018, 0.307473949929189, 0.24913643956122,
0.2330457998497, 0.2330457998497, 0.254273813857804, 0.795280619886978,
1.5147739864036, 1.78112711312344, 1.67606545286837, 0.647719252365604,
0.365148371670111, 0.203419051086243, 0.463928749979424,
0.653021271942343, 1.51818479029111, 1.54854399541864, 0.626062315579293,
0.524130368971462, 0.624223655762735, 0.273861278752583,
0.24913643956122, 0.215091533576038, 0.255481772266812, 1.55215830452272,
0.57460631200249, 0.816672531060342, 0.355983339400925, 0.897153864992658,
1.26445663219924, 1.92801488046912, 1.54436312804482, 0.964901281354015,
0.552163976977188, 0.501721175485981, 0.379427881476018,
0.254273813857804, 0.310727733132933, 0, 0.351106624928903,
0.359197701142069, 0.2330457998497, 0, 0.339455276962181,
0.227429413073671, 2.19482149144534, 3.01719211782446, 2.72752045200251,
1.17944561299917, 0.284160388577968, 0.314405112414928, 0.479463301485384,
1.06956323667251, 1.4388892587168, 1.90951940755157, 1.60468065358812,
0.706293547126578, 0.530668630505232, 0.626062315579293,
0.668675135459372, 0.24913643956122, 0.285673231861683, 0.2330457998497
), se = c(NA, 0.283384038735356, 0.104908279589538, 0.149103322452196,
0.0649933683619682, 0.163797136469808, 0.230857140147512,
0.352005747079521, 0.281960840736462, 0.176166065854411,
0.100810888544056, 0.0916013351305599, 0.0692737365436039,
0.046423834544263, 0.0567308628931175, 0, 0.0641030061876887,
0.0655802278398368, 0.0425481471698382, 0, 0.0619757708187835,
0.04152273992687, 0.400717746853915, 0.550861394419748, 0.49797482587282,
0.215336322530051, 0.0518803515911954, 0.0574022574215346,
0.0875376219064817, 0.19527463713459, 0.262704034917026,
0.348628951169965, 0.292973263854116, 0.128950969327188,
0.0968863931626966, 0.114302817548899, 0.12208281844464,
0.0454858826147342, 0.0521565577220158, 0.0425481471698382,
0.291383277762103, 0.0920186554465537, 0.105454680574986,
0.0315621384316, 0.100953310402513, 0.167812155519884, 0.269026911157979,
0.25930942773132, 0.170754467357681, 0.0968863931626966,
0.0951405493884234, 0.0692737365436039, 0.0631242768631999,
0.0518803515911954, 0.0371390676354104, 0.0507604999235668,
0.0544037693082247, 0.0396343440219923, 0, 0.0425481471698382,
0.0166666666666667, 0.254480915587923, 0.355053824639032,
0.402922751026818, 0.265316264685212, 0.0798105995514774,
0.0392701616226586, 0.0367501661580418, 0.0716526316115342,
0.175321270508516, 0.287761209008375, 0.2840592458844, 0.126702959108078,
0.105454680574986, 0.115842739219534, 0.077125066366707,
0.0166666666666667, 0.0622071684033784, 0.0256805646400569,
0.244008667643298, 0.0990858600549809, 0.138720204076973,
0.0502865352970744, 0.123370606359092, 0.129432892122591,
0.254254978062833, 0.259013749838428, 0.167812155519884,
0.0946864152947999, 0.0792686880439847, 0.0652140595517438,
0.0610414092223201, 0.0392701616226586, 0.0425481471698382,
0.0692737365436039, 0.0561368060738103, 0.0454858826147342,
0.0425481471698382, 0.0425481471698382, 0.046423834544263,
0.145197711686263, 0.276558627291759, 0.325187832547255,
0.306006285463706, 0.118256815150341, 0.0666666666666667,
0.0371390676354104, 0.0847014138129684, 0.119224827057846,
0.277181352034564, 0.282724159193322, 0.114302817548899,
0.0956926753863919, 0.113967125729863, 0.05, 0.0454858826147342,
0.0392701616226586, 0.0474417740991582, 0.283384038735356,
0.104908279589538, 0.149103322452196, 0.0649933683619682,
0.163797136469808, 0.230857140147512, 0.352005747079521,
0.281960840736462, 0.176166065854411, 0.100810888544056,
0.0916013351305599, 0.0692737365436039, 0.046423834544263,
0.0567308628931175, 0, 0.0641030061876887, 0.0655802278398368,
0.0425481471698382, 0, 0.0619757708187835, 0.04152273992687,
0.400717746853915, 0.550861394419748, 0.49797482587282, 0.215336322530051,
0.0518803515911954, 0.0574022574215346, 0.0875376219064817,
0.19527463713459, 0.262704034917026, 0.348628951169965, 0.292973263854116,
0.128950969327188, 0.0968863931626966, 0.114302817548899,
0.12208281844464, 0.0454858826147342, 0.0521565577220158,
0.0425481471698382)), row.names = c(NA, -157L), groups = structure(list(
Type = c("", "Brown SAPE", "Brown STSA", "Green SAPE", "Green STSA"
), Rainfall = c(NA, 0, 0, 0, 0), .rows = structure(list(1L,
2:40, 41:79, 80:118, 119:157), ptype = integer(0), class = c("vctrs_list_of",
"vctrs_vctr", "list"))), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -5L), .drop = TRUE), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"))
答: 暂无答案
评论
dput(df_Temps1.means)
aes()
geom_errorbar()
interval
factor
POSIXct
ungroup
ggplot
ungroup()
POSIXct
class()
"POSIXct, POSIXt"
factor
df_Temps1
df_Temps1.mean