是否有R函数可用于使用ggplot2以csv格式创建导入数据集的群集列

是否有R函数可用于使用ggplot2以csv格式创建导入数据集的群集列,r,ggplot2,R,Ggplot2,我想使用ggplot2绘制一个堆叠的柱,其中R1、R2、R3作为y变量,而品种名称保留在x变量中 我曾在excel上试用过,效果不错,但我决定将csv格式的数据集导入R,以获得更吸引人的outlook,因为这是我最后一年项目的一部分 varieties R1 R2 R3 Relative.yield SD 1 bd 0.40 2.65 1.45 1.50 1.13 2 bdj1 4.6

我想使用ggplot2绘制一个堆叠的柱,其中R1、R2、R3作为y变量,而品种名称保留在x变量中

我曾在excel上试用过,效果不错,但我决定将csv格式的数据集导入R,以获得更吸引人的outlook,因为这是我最后一年项目的一部分

          varieties   R1   R2   R3 Relative.yield   SD
1                bd 0.40 2.65 1.45           1.50 1.13
2              bdj1 4.60   NA 2.80           3.70 1.27
3              bdj2 2.40 1.90 0.50           1.60 0.98
4              bdj3 2.40 1.65 5.20           3.08 1.87
5         challenge 2.10 5.15 1.35           2.87 2.01
6             doris 4.20 2.50 2.55           3.08 0.97
7               fel 0.80 2.40 0.75           1.32 0.94
8              fel2   NA 0.70 1.90           1.30 0.85
9             felbv 0.10 2.95 2.05           1.70 1.46
10            felnn 1.50 4.05 1.25           2.27 1.55
11             lad1 0.55 2.20 0.20           0.98 1.07
12             lad2 0.50   NA 0.50           0.50 0.00
13             lad3 1.10 3.90 1.00           2.00 1.65
14             lad4 1.50 1.65 0.50           1.22 0.63
15          molete1 2.60 1.80 2.75           2.38 0.51
16          molete2 1.70 4.70 4.20           3.53 1.61
17 mother's delight 0.10 4.00 1.90           2.00 1.95
18         ojaoba1a 1.90 3.45 2.75           2.70 0.78
19         ojaoba1b 4.20 2.75 4.30           3.75 0.87
20             ojoo 2.80   NA 3.60           3.20 0.57
21            omini 0.20 0.30 0.25           0.25 0.05
22            papa1 2.20 6.40 3.55           4.05 2.14
23              pk5 1.00 2.75 1.10           1.62 0.98
24              pk6 2.30 1.30 3.10           2.23 0.90
25          sango1a 0.40 0.90 1.55           0.95 0.58
26          sango1b 2.60 5.10 3.15           3.62 1.31
27          sango2a 0.50 0.55 0.75           0.60 0.13
28          sango2b 2.95   NA 2.60           2.78 0.25
29            usman 0.60 3.50 1.20           1.77 1.53
30              yau 0.05 0.85 0.20           0.37 0.43
> barplot(yield$R1)
> barplot(yield$Relative.yield)
> barplot(yield$Relative.yield, names.arg = varieties)
Error in barplot.default(yield$Relative.yield, names.arg = varieties) : 
  object 'varieties' not found
    > ggplot(data = yield, mapping = aes(x = varieties, y = yield[,2:4])) + geom_()
Error in geom_() : could not find function "geom_"
> ggplot(data = yield, mapping = aes(x = varieties, y = yield[,2:4])) + geom()
Error in geom() : could not find function "geom"

您应该首先将其放在长格式中,
tidyr::gather
提供以下功能:

库(tidyverse)
聚集(df[1:4],R,值,R1:R3)%>%
ggplot(aes(品种、值、填充=R))+geom_col()
#>警告:删除了包含缺失值的5行(位置\u堆栈)。

数据

df <- read.table(h=T,strin=F,text=
                   "          varieties   R1   R2   R3 Relative.yield   SD
                 1                bd 0.40 2.65 1.45           1.50 1.13
                 2              bdj1 4.60   NA 2.80           3.70 1.27
                 3              bdj2 2.40 1.90 0.50           1.60 0.98
                 4              bdj3 2.40 1.65 5.20           3.08 1.87
                 5         challenge 2.10 5.15 1.35           2.87 2.01
                 6             doris 4.20 2.50 2.55           3.08 0.97
                 7               fel 0.80 2.40 0.75           1.32 0.94
                 8              fel2   NA 0.70 1.90           1.30 0.85
                 9             felbv 0.10 2.95 2.05           1.70 1.46
                 10            felnn 1.50 4.05 1.25           2.27 1.55
                 11             lad1 0.55 2.20 0.20           0.98 1.07
                 12             lad2 0.50   NA 0.50           0.50 0.00
                 13             lad3 1.10 3.90 1.00           2.00 1.65
                 14             lad4 1.50 1.65 0.50           1.22 0.63
                 15          molete1 2.60 1.80 2.75           2.38 0.51
                 16          molete2 1.70 4.70 4.20           3.53 1.61
                 17 'mother\\'s delight' 0.10 4.00 1.90           2.00 1.95
                 18         ojaoba1a 1.90 3.45 2.75           2.70 0.78
                 19         ojaoba1b 4.20 2.75 4.30           3.75 0.87
                 20             ojoo 2.80   NA 3.60           3.20 0.57
                 21            omini 0.20 0.30 0.25           0.25 0.05
                 22            papa1 2.20 6.40 3.55           4.05 2.14
                 23              pk5 1.00 2.75 1.10           1.62 0.98
                 24              pk6 2.30 1.30 3.10           2.23 0.90
                 25          sango1a 0.40 0.90 1.55           0.95 0.58
                 26          sango1b 2.60 5.10 3.15           3.62 1.31
                 27          sango2a 0.50 0.55 0.75           0.60 0.13
                 28          sango2b 2.95   NA 2.60           2.78 0.25
                 29            usman 0.60 3.50 1.20           1.77 1.53
                 30              yau 0.05 0.85 0.20           0.37 0.43"
)

df欢迎使用堆栈溢出!您能否通过共享您的数据样本使您的问题重现,以便其他人能够提供帮助(请不要使用
str()
head()
或屏幕截图)?您可以使用和包来帮助您实现这一点。另请参见&您发布的代码显示错误消息。很难知道你想做什么——例如,
geom\uuuu
geom
都不是函数,正如你收到的错误消息所示。我认为OP想要的是另一种方式,比如多样性在x轴上,关键是填充,但不清楚