R ggplot2如何将图表从ggplot2数据更改为我自己的数据?
我使用“msleep”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
找不到对象“国家/地区” 以下是原始代码:
# 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)