R语言绘制csv目标变量频次条形图出现全黑背景问题咨询
问题原因
- 核心问题是调用
barplot()时传入了原始的目标变量列(如TargetBuy),没有提前统计各类别的出现次数。barplot()默认会为输入向量的每一个元素单独绘制一个条形,若数据集行数较多,大量极窄的条形挤在一起就会呈现全黑效果,仅能看到0、1两种取值对应的高度分界线条。
修复方法
首先用table()函数统计目标变量各取值的出现频次,再将统计结果传入barplot()即可:
# 统计TargetBuy各类别的出现次数 target_count <- table(organics.df$TargetBuy) # 绘制条形图 barplot(target_count, main = "目标变量出现次数", xlab = "是否购买(TargetBuy)", ylab = "出现次数", col = c("#87CEEB", "#FFA500"))
如果使用ggplot2绘图,也可以直接用geom_bar()自动统计频次,无需提前计算:
library(ggplot2) ggplot(organics.df, aes(x = factor(TargetBuy, levels = c(0,1), labels = c("未购买", "购买")))) + geom_bar(fill = c("#87CEEB", "#FFA500")) + labs(title = "目标变量出现次数", x = "购买情况", y = "出现次数") + theme_bw()
内容的提问来源于stack exchange,提问作者r_agasthya
相关产品推荐
相关产品推荐

