R table() 函数 - 频数统计
R table() 函数用于统计向量中各值出现的频数,生成频数表。
table() 还可以统计多个分类变量的交叉频数(列联表),是数据分析的基础工具。
table() 函数语法格式如下:
table(x, y = NULL)
参数说明:
x 分类变量或向量。
y 可选,第二个分类变量,用于生成交叉表。
实例
# 统计各类别频数
colors <- c("红", "蓝", "红", "绿", "蓝", "红", "蓝", "绿", "红", "红")
freq <- table(colors)
print("颜色频数:")
print(freq)
# 比例
prop <- prop.table(freq)
print("颜色比例:")
print(prop)
colors <- c("红", "蓝", "红", "绿", "蓝", "红", "蓝", "绿", "红", "红")
freq <- table(colors)
print("颜色频数:")
print(freq)
# 比例
prop <- prop.table(freq)
print("颜色比例:")
print(prop)
执行以上代码输出结果为:
[1] "颜色频数:" colors 红 蓝 绿 5 3 2 [1] "颜色比例:" colors 红 蓝 绿 0.5 0.3 0.2
table() 也可以生成多维交叉表:
实例
# 交叉表:性别 × 是否购买
gender <- c("男", "女", "男", "女", "男", "男", "女", "女")
purchase <- c("是", "是", "否", "是", "是", "否", "否", "是")
cross_table <- table(gender, purchase)
print("性别 × 购买 交叉表:")
print(cross_table)
# 行百分比
print("行百分比:")
print(prop.table(cross_table, margin = 1))
gender <- c("男", "女", "男", "女", "男", "男", "女", "女")
purchase <- c("是", "是", "否", "是", "是", "否", "否", "是")
cross_table <- table(gender, purchase)
print("性别 × 购买 交叉表:")
print(cross_table)
# 行百分比
print("行百分比:")
print(prop.table(cross_table, margin = 1))
执行以上代码输出结果为:
[1] "性别 × 购买 交叉表:"
purchase
gender 否 是
男 2 2
女 1 3
[1] "行百分比:"
purchase
gender 否 是
男 0.50 0.50
女 0.25 0.75

R 语言实例