R ggplot2如何将图表从ggplot2数据更改为我自己的数据?

R ggplot2如何将图表从ggplot2数据更改为我自己的数据?,r,ggplot2,radar-chart,R,Ggplot2,Radar Chart,我使用“msleep”ggplot2包成功创建了小型多雷达图,如下所示 但是,当我加载自己的数据集并尝试使用自己的数据进行绘图时,我不断得到以下错误: 选择错误(国家、民主、自由、腐败): 找不到对象“国家/地区” 以下是原始代码: # prepare data data(msleep, package = "ggplot2") library(ggradar) library(scales) library(dplyr) plotdata <- msleep %>% fil

我使用“msleep”ggplot2包成功创建了小型多雷达图,如下所示

但是,当我加载自己的数据集并尝试使用自己的数据进行绘图时,我不断得到以下错误:

选择错误(国家、民主、自由、腐败):
找不到对象“国家/地区”

以下是原始代码:

# prepare data
data(msleep, package = "ggplot2")
library(ggradar)
library(scales)
library(dplyr)

plotdata <- msleep %>%
  filter(name %in% c("Cow", "Dog", "Pig")) %>%
  select(name, sleep_total, sleep_rem, 
         sleep_cycle, brainwt, bodywt) %>%
  rename(group = name) %>%
  mutate_at(vars(-group),
            funs(rescale))
plotdata

# generate radar chart
ggradar(plotdata, 
        grid.label.size = 4,
        axis.label.size = 4, 
        group.point.size = 5,
        group.line.width = 1.5,
        legend.text.size= 10) +
  labs(title = "Mammals, size, and sleep")
#准备数据
数据(msleep,package=“ggplot2”)
图书馆(GGR)
图书馆(比例尺)
图书馆(dplyr)
绘图数据%
过滤器(名称%c(“奶牛”、“狗”、“猪”))%>%
选择(名称、睡眠总数、睡眠rem、,
睡眠周期,脑重量,体重量)%>%
重命名(组=名称)%%>%
变异_at(vars(-group),
funs(重新缩放))
绘图数据
#生成雷达图
GG雷达(绘图仪数据、,
grid.label.size=4,
axis.label.size=4,
group.point.size=5,
group.line.width=1.5,
图例.text.size=10)+
实验室(title=“哺乳动物、体型和睡眠”)
这是我的代码,它向我抛出了错误:

# prepare data
library(ggradar)
library(scales)
library(dplyr)

radarData <- read.csv(file="Index_Data - radar-chart-wide (2).csv")

radarData
  select(country, democracy, freedom, corruption) %>%
  rename(country = groups) %>%
  mutate_at(vars(-country),
            funs(rescale))
  radarData
#准备数据
图书馆(GGR)
图书馆(比例尺)
图书馆(dplyr)
雷达数据%
重命名(国家/地区=组)%%>%
在(变量(-country))处发生变异,
funs(重新缩放))
雷达数据
下面是我的数据的屏幕截图:


我认为这里的问题在于
rename
调用。它遵循语法

rename(new_name = old_name)
但你用了另一种方式

无论如何,由于在此之后您在
mutate_at
语句中引用了
country
列,因此您可能希望保持名称不变。因此,您可以省略对
重命名的调用:

df <- radarData %>% 
  select(country, democracy, freedom, corruption) %>%
  mutate_at(vars(-country),
            funs(rescale))
df
df%
选择(国家、民主、自由、腐败)%>%
在(变量(-country))处发生变异,
funs(重新缩放))
df

谢谢您的帮助。我让它工作,并缩短了数据,以方便

代码如下:

install.packages("devtools")
devtools::install_github("ricardo-bion/ggradar")

# prepare data
library(ggradar)
library(scales)
library(dplyr)
library(ggplot2)

radarDataShort <- read.csv(file="Index_Data - radar-chart-wide2 (1).csv")

dfShort <- radarDataShort %>%
  select(country, democracy, freedom, corruption) %>%
  #mutate_at(vars(),
  mutate_at(vars(-country),
            funs(rescale))
dfShort

# generate radar chart
ggradar(dfShort, 
        grid.label.size = 4,
        axis.label.size = 4, 
        group.point.size = 0,
        group.line.width = 1) 

再次感谢

我明白了。出于某种原因,facet_wrap需要(~group)而不是(~country)。不知道为什么,因为我的数据中不包括组。也许这是GGR中的一个通用函数


无论如何谢谢你

欢迎来到堆栈溢出!您能否通过共享您的数据样本使您的问题重现,以便其他人能够提供帮助(请不要使用
str()
head()
或屏幕截图)?您可以使用和包来帮助您实现这一点。另请参见&首先,在
选择(…)
# prepare data
library(ggradar)
library(scales)
library(dplyr)
library(ggplot2)

radarDataShort <- read.csv(file="Index_Data - radar-chart-wide2 (1).csv")

dfShort <- radarDataShort %>%
  select(country, democracy, freedom, corruption) %>%
  #mutate_at(vars(),
  mutate_at(vars(-country),
            funs(rescale))
dfShort

# generate radar chart
ggradar(dfShort, 
        grid.label.size = 4,
        axis.label.size = 4, 
        group.point.size = 0,
        group.line.width = 1) +
facet_wrap(~country)