我正在努力如何在Excel中轻松实现R的功能:因此,我确定这是非常基本的东西,但我只是不了解R中的等效方法。
本质上,我的数据集中有两个变量:一个具有名称列表的类别变量,以及一个具有与该特定观测值相对应的频率的分析变量。
类似这样的东西:
Name Freq
==== =========
X 100
Y 200
以此类推。
我想绘制一个条形图,其名称在X轴上列出(X,Y等),其高度条对应于频率的相关值。该观测值的变量。
这对于Excel来说是微不足道的;我可以选择相关单元格并创建条形图。 但是,在R中,我似乎无法弄清楚该如何做! R中的条形图似乎仅是单变量的,并不符合我想要的方式。试图绘制两个变量会导致散布图,这不是我想要的。
这里是否缺少一些非常基本的东西,或者R不能执行此任务?
任何指针都会很有帮助。
编辑后添加: 我主要是尝试使用基R的plot函数完成任务。
使用plot(dataset1 $ Name,dataset1 $ Freq)不会生成条形图,而是会生成散点图。
答案 0 :(得分:1)
首先是数据。
dat <- data.frame(Name = c("X", "Y"), Freq = c(100, 200))
以R为底
barplot(dat$Freq, names.arg = dat$Name)
如果要显示一长串names.arg
,也许最好的方法是使用软件包staxlab
中的函数plotrix
自定义水平轴。这是两个示例图。
一个,轴标签旋转45度。
set.seed(3)
Name <- paste0("Name_", LETTERS[1:10])
dat2 <- data.frame(Name = Name, Freq = sample(100:200, 10))
bp <- barplot(dat2$Freq)
plotrix::staxlab(1, at = bp, labels = dat2$Name, srt = 45)
另一个,标签分布在3行上。
bp <- barplot(dat2$Freq)
plotrix::staxlab(1, at = bp, labels = dat2$Name, nlines = 3)
使用参数col
添加颜色。参见help("par")
。
使用ggplot2
。
library(ggplot2)
ggplot(dat, aes(Name, Freq)) +
geom_bar(stat = "identity")
要添加颜色,您需要具有colour
(对于条形的轮廓)和fill
(对于条形的内部)的美感。