R 条形图可视化复选框
我必须做一份调查报告,我们有这样一个问题(所有答案都是复选框) 然后,调查软件导出为CSV,如下所示:R 条形图可视化复选框,r,plot,R,Plot,我必须做一份调查报告,我们有这样一个问题(所有答案都是复选框) 然后,调查软件导出为CSV,如下所示: "username","likes_tiramisu","likes_carrotcake","likes_cupcake" "test01",1,1,1 "test02",0,1,1 "test03",0,1,0 "test04",0,0,1 "likes_tiramisu" "likes_carrotcake" "likes_cupcake" 1
"username","likes_tiramisu","likes_carrotcake","likes_cupcake"
"test01",1,1,1
"test02",0,1,1
"test03",0,1,0
"test04",0,0,1
"likes_tiramisu" "likes_carrotcake" "likes_cupcake"
1 3 3
library(ggplot2)
data.melt <- melt(data, id = "username")
qplot(variable, value, data = data.melt, geom = "bar", stat = "identity")
我想做一个柱状图,每个柱状图代表每个蛋糕的频率。
如何组合这样的表格:
"username","likes_tiramisu","likes_carrotcake","likes_cupcake"
"test01",1,1,1
"test02",0,1,1
"test03",0,1,0
"test04",0,0,1
"likes_tiramisu" "likes_carrotcake" "likes_cupcake"
1 3 3
library(ggplot2)
data.melt <- melt(data, id = "username")
qplot(variable, value, data = data.melt, geom = "bar", stat = "identity")
我可以用每列中所有元素的和来解它吗?
它在概念上有效吗?假设您的数据在以下文件中:
survey.csv
然后使用以下命令创建条形图:
#Read in the data
d = read.table("survey.csv", sep=",", header=TRUE)
#Need to skip the username column, so d[,2:4]
#Use apply to calculate the totals in your table
barplot(apply(d[,2:4], 2, sum))
HTH假设您的数据在文件中:
survey.csv
然后使用以下命令创建条形图:
#Read in the data
d = read.table("survey.csv", sep=",", header=TRUE)
#Need to skip the username column, so d[,2:4]
#Use apply to calculate the totals in your table
barplot(apply(d[,2:4], 2, sum))
HTHA
ggplot2
方法如下所示:
"username","likes_tiramisu","likes_carrotcake","likes_cupcake"
"test01",1,1,1
"test02",0,1,1
"test03",0,1,0
"test04",0,0,1
"likes_tiramisu" "likes_carrotcake" "likes_cupcake"
1 3 3
library(ggplot2)
data.melt <- melt(data, id = "username")
qplot(variable, value, data = data.melt, geom = "bar", stat = "identity")
库(ggplot2)
data.meltAggplot2
方法如下所示:
"username","likes_tiramisu","likes_carrotcake","likes_cupcake"
"test01",1,1,1
"test02",0,1,1
"test03",0,1,0
"test04",0,0,1
"likes_tiramisu" "likes_carrotcake" "likes_cupcake"
1 3 3
library(ggplot2)
data.melt <- melt(data, id = "username")
qplot(variable, value, data = data.melt, geom = "bar", stat = "identity")
库(ggplot2)
data.melt我想做一个条形图,其中每个直方图代表每个蛋糕的频率。
也许你的意思是…其中每个*bin*代表频率…
?是的,对不起。。。我指的是每个箱子。我想做一个条形图,其中每个直方图代表每个蛋糕的频率。
也许你指的是…其中每个*bin*代表频率…
?是的,对不起。。。我指的是每个箱子。我不知道ggplot2中的melt命令。看起来很强大!非常感谢您提供的这个示例melt()实际上来自于由ggplot2加载的重塑包。对于较新版本的ggplot2
,您必须显式加载restrape
或restrape2
,而不是依赖ggplot2
自动加载。我不知道ggplot2中的melt命令。看起来很强大!非常感谢您提供了这个示例。melt()实际上来自于由ggplot2加载的重塑包。对于较新版本的ggplot2
,您必须显式加载restrape
或restrape2
,而不是依赖ggplot2
自动加载。科林,谢谢您的提示!!我有一个小问题,因为在专栏中我也有NA。是否有一个命令将NA视为0?好的,我找到了:barplot(应用(d[,2:4],2,sum,NA.rm=TRUE))我越来越喜欢R有一个专门的函数对列求和-colSums
。您可以使用colSums(d[,2:4])
或colSums(d[2:4])
和NA
删除colSums(d[,2:4],NA.rm=TRUE)
或colSums(d[2:4],NA.rm=TRUE)
。科林,谢谢你的提示!!我有一个小问题,因为在专栏中我也有NA。是否有一个命令将NA视为0?好的,我找到了:barplot(应用(d[,2:4],2,sum,NA.rm=TRUE))我越来越喜欢R有一个专门的函数对列求和-colSums
。您可以使用colSums(d[,2:4])
或colSums(d[2:4])
和NA
删除colSums(d[,2:4],NA.rm=TRUE)
或colSums(d[2:4],NA.rm=TRUE)
。