我有一个包含10个日期的数据框,我将其作为整数读入R中.这是数据框:
19820509
19550503
20080505
19590505
19940517
19690504
20050420
20060503
19840427
19550513
Run Code Online (Sandbox Code Playgroud)
我们称之为df.
我在这里尝试了几行不同的代码,只需将每个值更改为R中的日期格式,如下所示: "1982-05-09"
df <- as.Date(df, "%Y%m%d")
Run Code Online (Sandbox Code Playgroud)
不起作用,也不起作用
df <- as.POSIXlt(df, format = "%Y/%m/%d")
Run Code Online (Sandbox Code Playgroud)
要么
df <- as.POSIXct(df), format = "%Y/%m/%d", origin = "19820509")
Run Code Online (Sandbox Code Playgroud)
我一直收到一条错误,上面写着"不知道如何将'df'转换为类"date"或任何一种POSIX格式.
我觉得这会更简单.有任何想法吗?
谢谢.
我今天已经尝试了很长一段时间,但仍然无法通过X轴将两种不同的图表类型对齐,这些图表是相同的.当两个图表具有相同的X轴时,我只需要条形图顶部的双线图表.
下面的数据以及我到目前为止编写的代码以及一些不同的尝试.
我的数据:
Date <- c("2015-07-22", "2015-07-23", "2015-07-24", "2015-07-25", "2015-07-26", "2015-07-27", "2015-07-28", "2015-07-29", "2015-07-30", "2015-07-31", "2015-08-01", "2015-08-02", "2015-08-03", "2015-08-04", "2015-08-05")
Mean_temp12z <- c(66.6, 64.6, 67.6, 69.6, 72.0, 71.8, 73.0, 72.2, 72.8, 71.8, 69.4, 64.2, 61.2, 62.0, 63.4)
Mean_temp0z <- c(62.8, 65.0, 67.4, 71.6, 72.4, 71.6, 71.0, 71.8, 71.6, 69.6, 69.2, 66.2, 60.6, 63.6, 66.4)
temp_deltalow <- c( 3.8, -0.4, 0.2, -2.0, -0.4, 0.2, 2.0, 0.4, 1.2, 2.2, 0.2, -2.0, 0.6, -1.6, -3.0)
GFS_low_changes <- data.frame(Date, Mean_temp12z, Mean_temp0z, temp_deltalow)
Run Code Online (Sandbox Code Playgroud)
到目前为止我绘制的是一个双线图,显示的代码如下图所示:
low_line …Run Code Online (Sandbox Code Playgroud) 我有一个包含三列的数据框,我正在尝试一个简单的摘要来查找数据框中每个城市的最高温度,同时还保留每个最高温度的日期.
这是数据框:
我们称之为maxT
new.ID Date Max_TemperatureF
1 TUS 1960-04-05 87
2 TUS 1984-04-24 86
3 TUS 1972-04-01 75
4 TUS 2006-04-14 91
5 TUS 2000-05-03 96
6 PHX 1960-04-05 93
7 PHX 1984-04-24 93
8 PHX 1972-04-01 84
9 PHX 2006-04-14 91
10 PHX 2000-05-03 99
11 LAS 1960-04-05 91
12 LAS 1984-04-24 86
13 LAS 1972-04-01 81
14 LAS 2006-04-14 81
15 LAS 2000-05-03 98
16 LAX 1960-04-05 72
17 LAX 1984-04-24 69
18 LAX 1972-04-01 73
19 LAX …Run Code Online (Sandbox Code Playgroud) 我试图用输入作为向量创建一个带有负值和正值的简单条形图.我希望条形图显示红色的正值和蓝色的负值.我明白这个问题很简单,但我似乎无法弄明白.
这是我的矢量:
x <- (1.9230769, 1.2961538, 0.2576923, -1.5500000, -1.3192308,
0.2192308, 1.8346154, 1.6038462, 2.5653846, 4.1423077)
Run Code Online (Sandbox Code Playgroud)
我尝试过代码:
barplot(x, ylim=c(-8,8), if(x>0) {col="red"} else {col="blue"})
Run Code Online (Sandbox Code Playgroud)
但我不断收到错误消息
"在if(x> 0){:条件长度> 1且只使用第一个元素"
我怎样才能让它理解贯穿整个矢量并用红色和蓝色有条件地绘制它?
谢谢,
亚当
我有一个包含417个数据框的列表.每个数据框在列表中都有一个单独的名称,以"Dec 1981"开头,以"2016年8月"结尾.对象按时间顺序排列.
我想按月名称对该列表进行子集或过滤.例如,使用Jan对象(数据框)创建一个新的列表对象.我的名单是SST_list,到目前为止我尝试了一些不同的解决方案.这些都不起作用.
Jan_data <- SST_list[names(SST_list)=="Jan"]
Run Code Online (Sandbox Code Playgroud)
什么都没有,但是可以预料.我尝试了一些使用grep和grepl的代码,但那些崩溃了我的R会话.
我也试过了
Jan_data <- lapply(SST_list, "[","Jan")
Run Code Online (Sandbox Code Playgroud)
但那里没有运气.
这似乎应该是一个简单的任务,但我遇到了很多麻烦.
我有一个简单的融化数据框,其中包含5个变量,并在ggplot2的多线图中绘制。我在下面发布了我的代码,我觉得这个问题的答案应该很简单,但是我找不到答案。
如果我在同一张图表上同时绘制5条线,是否可以使其中一条线(在这种情况下为均值)比其他线更大/更大?
如您在底部的代码中所看到的,我将线的大小指定为2,这使所有5条线的大小都为2。但是我希望具有均值线(在刻度颜色中指定为黑色的线)函数)变得比其他行大。
我尝试将大小设置为,size = c(2,2,2,2,3)但是ggplot2不喜欢那样。
FiveLineGraph <- ggplot(data= df, aes(x= Date, y=Temperature, group= model, colour= model)) +
geom_line(size= 2) +
scale_colour_manual(values = c("red","blue", "green", "gold","black"))
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
非常感谢您的帮助。
谢谢。
我试图在 ggplot2 中的分组条形图中标记每个条形。每组按日期聚合,每个日期有 4 个值(条形)。我已经看到并且实际上有自己的代码可以正确标记单个负条和正条,但我无法让分组条形图正常工作。这些值始终位于条形内部。
我的数据:
Date <- c("2016-02-19", "2016-02-20", "2016-02-21", "2016-02-22", "2016-02-23", "2016-02-24", "2016-02-25", "2016-02-26", "2016-02-27", "2016-02-28",
"2016-02-29", "2016-03-01", "2016-03-02", "2016-03-03", "2016-03-04")
Date <- as.Date(Date)
Model1 <- c(-0.6, -0.2, 0.1, 0.1, 0.4, -0.2, -1.7, 0.7, 3.6, 2.0, NA, NA, NA, NA, NA)
Model2 <- c(-0.5, -0.2, -0.5, 0.0, 0.0, -1.0, -0.9, 1.6, 3.6, -0.2, 2.1, 7.8, 3.5, -3.4, -8.1)
Model3 <- c( -0.7, 0.0, 0.2, 0.4, 0.8, 0.6, 0.8, -0.4, -0.6, 0.2, 0.1, -0.9, -0.5, 0.1, 0.3)
Model4 <- …Run Code Online (Sandbox Code Playgroud) 我希望创建一个包含一个简单的多行 ggplot2 图的图,该图在图下方有一个单独(但相关)数据表,按图的 X 轴排列。数据表的列名确实与图表的 x 轴匹配(1 到 24 小时),但有一列专用于必要的行名。
为简洁起见,数据表在 16 小时被截断,但确实扩展到 24。

我整个早上都在 gridExtra 中尝试不同的解决方案,调整不同的参数,如 nrow、ncol、高度和宽度,但最简单的解决方案只是产生某种合理结果的解决方案。下面的代码和图片是我取得的最好成绩:
library(gridExtra)
p1 <- ggplot(load_forecast_plot, aes(group=Load_Type, y=Load_Values, x=Hour, colour = Load_Type)) +
geom_line(size = 1) +
scale_x_continuous(breaks = c(1:24))
p1 <- ggplotGrob(p1)
p2<-tableGrob(df)
grid.arrange(p1, p2, top = paste("Load and Weather Error Power Grid", Sys.Date()-1, sep = " "))
grid.draw(tableGrob(MISO_wx_PrevDay_error_test,theme=ttheme_minimal(base_size = 5)))
Run Code Online (Sandbox Code Playgroud)
我希望图表更大,而表格更小并尽可能沿 x 轴对齐。我查看了将表格转换为 ggplot2 对象的示例,但这些示例的绘图和表格中的数据与我的不同。
以下是我的可重现示例的数据。任何帮助深表感谢!谢谢你。
ggplot 图的数据:
dput(load_forecast_plot)
structure(list(Hour = c(1, 1, 1, 2, 2, 2, 3, 3, 3, …Run Code Online (Sandbox Code Playgroud)