r - 视图中的错误:无法将类 'c("gg", "ggplot")' 强制转换为 data.frame
问题描述
试图在其他帖子中找到此问题的解决方案,但找不到帮助我解决问题的解决方案,但我不得不承认这实际上是我第一次使用 R。我只想查看情节“a “到目前为止,这一直有效。检查 str(b) 可确保报告数据帧。现在我收到提到的错误。我还在学习,所以不要犹豫指出任何错误。非常感谢!
require(tidyverse)
require(lubridate)
require(scales)
require(readxl)
library(labeling)
library(magrittr)
c <- read.csv2("Input/MRL_abrufe_2019.csv", stringsAsFactors = F)
c <- abrufe %>%
mutate("AUKTION" = hour(as.POSIXct(paste(abrufe$DATUM, abrufe$UHRZEIT.VON), format = "%d.%m.%Y %H:%M")) %/% 4 + 1)
b <- c %>%
mutate(ABRUFDATUM = DATUM) %>%
select(-DATUM) %>%
filter(BETR < 0) %>%
rowwise() %>%
mutate("ABRUFGRENZKOSTEN" = (mrl_rel[mrl_rel$TAG == as.Date(ABRUFDATUM, format = "%d.%m.%Y") & mrl_rel$AUKTION == AUKTION,] %>% summarise(total = min(ARBEITSPREIS[KUMSUM >= abs(BETR)])))$total[1])
a <- ggplot(b %>% arrange(ABRUFGRENZKOSTEN) %>% ungroup() %>% mutate(N = 1:n(),"FILL" = case_when(ABRUFGRENZKOSTEN < 0 ~ "NEG", ABRUFGRENZKOSTEN >= 0 & ABRUFGRENZKOSTEN < 80 ~ "NULL", ABRUFGRENZKOSTEN >= 80 ~ "POS")), aes(x = N, y = ABRUFGRENZKOSTEN))+geom_line()+geom_point()
解决方案
我怀疑你想要print(a)
或只是a
在控制台中输入。
附加提示:
一个起点(因为我没有要检查的数据)是重组代码以将处理与绘图分开。
b2 <- b %>%
arrange(ABRUFGRENZKOSTEN) %>%
ungroup() %>%
mutate(
N = 1:n(),
"FILL" = case_when(
ABRUFGRENZKOSTEN < 0 ~ "NEG",
ABRUFGRENZKOSTEN >= 0 & ABRUFGRENZKOSTEN < 80 ~ "NULL",
ABRUFGRENZKOSTEN >= 80 ~ "POS"
)
)
ggplot(b2, aes(x = N, y = ABRUFGRENZKOSTEN)) +
geom_line() +
geom_point()
在这里我创建了b2
这样你就可以检查额外的转换。然后可以将其用于绘图步骤。如果您发现一切正常,您可以重新加入这两个,例如
b %>%
processing_steps %>%
ggplot(aes(x, y)) +
geom_point()
推荐阅读
- python - 为什么 PyTorch 优化器可能无法更新其参数?
- flutter - 带有身份验证和 Web 支持的颤动导航 - 定义主路由
- swift - 在 Swift 中将文本打印到崩溃文件
- keyboard - azure cloud shell 上的奇怪键盘响应
- .net - pythonnet安装失败
- php - Symfony“无效凭据”
- docker - 当我在容器中访问 nginx 时,我得到 curl: (56) Recv failure: Connection reset by peer
- vue.js - 更改窗口大小时饼图消失
- javascript - 从自定义构建的 HTML 指令生成 JavaScript 代码
- java - 如何判断是否选择了switch case?