在R中统计每列变量内0和1的出现次数的方法咨询
实现方案
Python(pandas环境)
单列统计
直接调用value_counts()方法即可输出指定列0、1的出现次数:
import pandas as pd # 替换为你自己的数据集变量名,此处假设为df df["Arts and Crafts"].value_counts()
如果需要统计空值的数量,添加参数dropna=False即可。
全列批量统计
用apply批量处理所有列,输出结果的行对应原数据集列名,列对应0、1的计数:
# 对所有列执行值统计,转置后更易读 all_count = df.apply(pd.Series.value_counts).T # 仅保留0、1的统计结果,空值填充为0 all_count = all_count[[0,1]].fillna(0).astype(int)
R语言环境
单列统计
用table()函数统计:
# 替换为你自己的数据集变量名,此处假设为df table(df$`Arts and Crafts`)
全列批量统计
# 批量统计所有列0、1的出现次数,提前指定levels避免某类值缺失时统计出错 all_count <- t(sapply(df, function(x) table(factor(x, levels = c(0,1)))))
常见排错点
如果统计结果不符合预期,优先排查以下问题:
- 列中的0、1为字符串类型,需先转换为数值类型再统计
- 列中存在空值/其他异常值,可根据需求决定是否过滤后再统计
内容的提问来源于stack exchange,提问作者Eileen Reinknecht
相关产品推荐
相关产品推荐

