做ref="/tag/426/" style="color:#8B0506;font-weight:bold;">数据分析,光会点鼠标可不够。很多人在用Excel处理几百行数据时就开始卡顿,而真正的工作中动辄几千上万条记录,靠手动根本忙不过来。这时候,R语言的优势就出来了——它专为统计分析设计,写几行代码就能完成批量操作。
准备你的第一份数据
假设你在一家电商公司上班,老板让你看看最近一个月的销售情况。你拿到一个叫 sales.csv 的文件,里面包含订单时间、商品类别、销售额和客户地区。先把它读进R里:
sales <- read.csv("sales.csv")
head(sales)
运行后你会看到前六行数据。如果发现某些数值被识别成了字符型(比如销售额前面有个引号),说明数据有问题,得赶紧清理。
动手清洗脏数据
常见问题是空值、格式混乱和异常值。比如“销售额”列里混了个“N/A”,整个列就会变成字符类型。可以用 as.numeric 强制转换,但失败的值会变NA:
sales$amount <- as.numeric(sales$amount)
sum(is.na(sales$amount)) # 查看有多少缺失值
发现有几十个NA也不用慌,可以查原始表格确认是不是录入错误。如果是某个区域频繁出错,可能需要提醒业务同事注意填报规范。
分组汇总看趋势
老板最常问的一句话:“哪个地区的销量最高?”用 dplyr 包几行代码就能回答:
library(dplyr)
summary_by_region <- sales %>%
filter(!is.na(amount)) %>%
group_by(region) %>%
summarise(total_sales = sum(amount), avg_sale = mean(amount)) %>%
arrange(desc(total_sales))
这段代码先把缺失值去掉,再按地区分组,算出每组总销售额和平均单笔金额,最后按总量从高到低排序。结果一出来,谁表现好谁拖后腿一眼就知道。
画图比表格更直观
开会时拿着一堆数字说话没人听,做个图大家立刻精神了。ggplot2 是R里最受欢迎的绘图工具,画个柱状图只需:
library(ggplot2)
ggplot(summary_by_region, aes(x = region, y = total_sales, fill = region)) +
geom_bar(stat = "identity") +
theme_minimal() +
labs(title = "各地区销售总额对比", x = "地区", y = "销售额(万元)")
颜色自动区分,标题坐标轴都配上,拿去PPT直接能用。要是领导突然想看折线图,把 geom_bar 换成 geom_line 就行,其他结构基本不用改。
把流程自动化
每个月都要出报告?别每次都重敲一遍代码。把常用的步骤整理成一个 .R 脚本,比如 save_report.R,双击打开RStudio点“Run”或者命令行执行 Rscript save_report.R,就能自动生成最新结果。
再进一步,配合 shiny 还能做成交互式网页仪表盘,让非技术人员也能自己筛选查看数据。这才是真正的效率提升。