Como corrigir o erro: “dados” deve ser um dataframe ou outro objeto coercível por “fortify()”, não um vetor numérico
Um erro que você pode encontrar no R é:
Error: `data` must be a data frame, or other object coercible by `fortify()`, not a digital vector
Este erro ocorre quando você tenta usar ggplot2 para plotar variáveis em um quadro de dados, mas você faz referência a um vetor em vez de um quadro de dados para o argumento de dados .
Este tutorial explica exatamente como corrigir esse erro.
Como reproduzir o erro
Suponha que temos o seguinte quadro de dados em R:
#create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8),
y=c(4, 8, 14, 19, 14, 13, 9, 9))
#view data frame
df
xy
1 1 4
2 2 8
3 3 14
4 4 19
5 5 14
6 6 13
7 7 9
8 8 9
Agora suponha que estamos tentando criar um gráfico de dispersão para visualizar as variáveis xey no quadro de dados:
library (ggplot2)
#attempt to create scatter plot
ggplot(df$x, aes(x=x, y=y)) +
geom_point()
Error: `data` must be a data frame, or other object coercible by `fortify()`,
not a digital vector
Estamos recebendo um erro porque referenciamos um vetor numérico ( df$x ) no argumento data para a função ggplot() em vez de um quadro de dados.
Como corrigir o erro
A maneira de corrigir esse erro é fazer referência a um quadro de dados para o argumento de dados na função ggplot() .
Em nosso exemplo, devemos usar df em vez de df$x para o argumento data :
library (ggplot2)
#create scatterplot
ggplot(df, aes(x=x, y=y)) +
geom_point()
Observe que desta vez conseguimos criar a nuvem de pontos com sucesso e sem erros.
Recursos adicionais
Os tutoriais a seguir explicam como resolver outros erros comuns em R:
Como corrigir: ggplot2 não sabe como lidar com dados de classe desiguais
Como corrigir: Erro em stripchart.default(x1,…): Método de plotagem inválido
Como corrigir: erro em eval (predvars, data, env): objeto ‘x’ não encontrado