表到R中的堆积条形图

时间:2017-04-04 21:09:48

标签: r bar-chart

我的目的是使用R和以下数据构建堆积条形图

dat <- read.table(text = "user_id tier share
1 Tier1 0.50
1 Tier2 0.20
1 Tier3 0.30
2 Tier1 0.75
2 Tier2 0.56
2 Tier3 0.34", header = TRUE)

barplot(as.matrix(dat))

这里每个唯一的user_id将被赋予一个条形,其中每个层将是一个堆栈。

然而,代码给了我错误的图像 enter image description here

我对Rlang相当新。我应该创建一个列表,还是我需要在barplot函数中插入选项?

2 个答案:

答案 0 :(得分:4)

我会使用ggplot2包来执行此操作:

require('ggplot2')

dat$user_id <- as.factor(dat$user_id) # user_id as factor variable

ggplot(dat, aes(x = user_id, y = share, fill = tier)) + 
   geom_bar(stat = 'identity')

给你:

enter image description here

答案 1 :(得分:3)

这是使用基础R的解决方案:

tbl <- table(dat[2:1])
tbl[] <- dat$share
barplot(tbl)

enter image description here