R 条形图可视化复选框

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

我必须做一份调查报告,我们有这样一个问题(所有答案都是复选框)

然后,调查软件导出为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                   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))

HTH

A
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.meltA
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.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)