Попытка устранить ошибку: Ошибка: `data` должен быть фреймом данных или другим объектом, приводимым` fortify () `, а не вектором символов

Я пытался сделать некоторые из моих графиков прозрачными, но когда я добавил «альфу», я получил следующую ошибку. Кто-нибудь знает, как мне это исправить?

Error: `data` must be a data frame, or other object coercible by `fortify()`, not a character vector

Вот мой код:

graphics.off()
rm(list=ls())

library(ggplot2)
library(dplyr)
library(tidyr)
library(tidyverse)

setwd("F:/Data/")

file1<-read.csv("F:/Data/diam.csv")

cl<-rainbow(20)

names(file1)


ggplot(data=file1, aes(x = No.)) + 
  geom_line(aes(y = X1), colour="red")+
  geom_line(aes(y = X2), colour="coral4",alpha(.4))+
  geom_line(aes(y = X3), colour=cl[8],alpha(.4))+
  geom_line(aes(y = X4), colour="magenta")+
  xlab("Image ")+ylab("n pores<0.13")+
  theme(legend.position="bottom")

person Shalen    schedule 12.03.2020    source источник


Ответы (2)


Возможно, это было бы alpha = 0.4

library(ggplot2)
ggplot(data=file1, aes(x = No.)) + 
  geom_line(aes(y = X1), colour="red")+
  geom_line(aes(y = X2), colour="coral4",alpha = 0.4)+
  geom_line(aes(y = X3), colour=cl[8],alpha = 0.4)+
  geom_line(aes(y = X4), colour="magenta")+
  xlab("Image ")+ylab("n pores<0.13")+
  theme(legend.position="bottom")
person akrun    schedule 12.03.2020

В вашем CSV-файле может быть что-то странное, из-за чего выходной файл read.csv имеет другой тип данных, чем фрейм данных. Я бы использовал str (file1) и / или head (file1), чтобы убедиться, что объект выглядит так, как вы хотите. Если это так, то вы можете попробовать принудить его к фрейму данных, выполнив file1 ‹- as.data.frame (file1). Тогда он снова потерпит неудачу, если вы не исправите и их, но я считаю, что эта ошибка предшествовала тот.

person SKyJim    schedule 12.03.2020