如何为分类变量创建频率 table?
How can I create a frequency table for a categorical variable?
我是 R 的新手,正在处理一个涉及调查中收集的人们最喜欢的颜色的数据集。
我只是有一个重复颜色的响应列表,所以我想创建一个频率table我可以工作(创建堆积条形图或饼图)。
我尝试只使用 'table' 函数,但是在制作绘图时我无法再使用创建的 table。
以下是数据示例:
最喜欢
1 Blue
2 Red
3 Red
4 Black
5 Blue
6 Black
7 Purple
8 Blue
9 Orange
10 White
11 Green
12 Green
13 Blue
14 Blue
15 Blue
16 Blue
17 Brown
18 Blue
19 Blue
20 Black
我不确定我是否理解问题;这是你想要做的吗?
data <- structure(list(mostFav = c("Blue", "Red", "Red", "Black", "Blue",
"Black", "Purple", "Blue",
"Orange", "White", "Green", "Green",
"Blue", "Blue", "Blue", "Blue",
"Brown", "Blue", "Blue", "Black")),
class = "data.frame", row.names = c(NA, -20L))
# Counts for each factor
table(data)
#> data
#> Black Blue Brown Green Orange Purple Red White
#> 3 9 1 2 1 1 2 1
barplot(table(data))
# Frequency
prop.table(table(data))
#> data
#> Black Blue Brown Green Orange Purple Red White
#> 0.15 0.45 0.05 0.10 0.05 0.05 0.10 0.05
barplot(prop.table(table(data)))
pie(prop.table(table(data)))
由 reprex package (v2.0.1)
于 2022-01-25 创建
根据您的需要,您也可以尝试使用 ggplot,而无需先将数据转换为 table。
mostFav <- data.frame("color" = c('Blue', 'Red', 'Red', 'Black', 'Blue', 'Black', 'Purple', 'Blue', 'Orange', 'White', 'Green', 'Green', 'Blue', 'Blue', 'Blue', 'Blue', 'Brown', 'Blue', 'Blue', 'Black'))
library(ggplot2)
ggplot(data = mostFav, aes(x = color)) +
geom_bar()
我是 R 的新手,正在处理一个涉及调查中收集的人们最喜欢的颜色的数据集。
我只是有一个重复颜色的响应列表,所以我想创建一个频率table我可以工作(创建堆积条形图或饼图)。
我尝试只使用 'table' 函数,但是在制作绘图时我无法再使用创建的 table。
以下是数据示例: 最喜欢
1 Blue
2 Red
3 Red
4 Black
5 Blue
6 Black
7 Purple
8 Blue
9 Orange
10 White
11 Green
12 Green
13 Blue
14 Blue
15 Blue
16 Blue
17 Brown
18 Blue
19 Blue
20 Black
我不确定我是否理解问题;这是你想要做的吗?
data <- structure(list(mostFav = c("Blue", "Red", "Red", "Black", "Blue",
"Black", "Purple", "Blue",
"Orange", "White", "Green", "Green",
"Blue", "Blue", "Blue", "Blue",
"Brown", "Blue", "Blue", "Black")),
class = "data.frame", row.names = c(NA, -20L))
# Counts for each factor
table(data)
#> data
#> Black Blue Brown Green Orange Purple Red White
#> 3 9 1 2 1 1 2 1
barplot(table(data))
# Frequency
prop.table(table(data))
#> data
#> Black Blue Brown Green Orange Purple Red White
#> 0.15 0.45 0.05 0.10 0.05 0.05 0.10 0.05
barplot(prop.table(table(data)))
pie(prop.table(table(data)))
由 reprex package (v2.0.1)
于 2022-01-25 创建根据您的需要,您也可以尝试使用 ggplot,而无需先将数据转换为 table。
mostFav <- data.frame("color" = c('Blue', 'Red', 'Red', 'Black', 'Blue', 'Black', 'Purple', 'Blue', 'Orange', 'White', 'Green', 'Green', 'Blue', 'Blue', 'Blue', 'Blue', 'Brown', 'Blue', 'Blue', 'Black'))
library(ggplot2)
ggplot(data = mostFav, aes(x = color)) +
geom_bar()