家里刚装完宽带,顺手把近半年的账单下载了下来,想看看哪个月超了套餐。文件是CSV格式,打开一看,密密麻麻几十行ref="/tag/426/" style="color:#643D3D;font-weight:bold;">数据。这时候,用Excel当然能看,但要算平均值、筛选月份、合并费用项,点来点去总感觉费劲。其实,R语言里的数据框(data frame)就是干这个的——像电子表格一样整齐,又能用代码快速处理。
什么是数据框?
你可以把R的数据框想象成一张Excel表格。每一列是一个变量,比如“月份”“流量使用量”“账单金额”;每一行是一条记录,比如某个月的具体数据。创建一个数据框很简单:
bill_data <- data.frame(
month = c("1月", "2月", "3月"),
data_used = c(8.5, 10.2, 9.8),
cost = c(98, 105, 102)
)
这样就建好了一个小表格,接下来就能对它做各种操作。
查看和筛选数据
刚导入数据时,谁都不会马上记住所有内容。head() 能让你看看前几行长啥样:
head(bill_data)
如果只想看流量超过10G的月份,可以用子集筛选:
bill_data[bill_data$data_used > 10, ]
这会返回所有流量使用量大于10的数据行,一眼就能看出哪个月“爆表”了。
添加和修改列
账单里没有标注是否超支,我们可以自己加一列判断:
bill_data$over_limit <- bill_data$cost > 100
这一列会自动生成 TRUE 或 FALSE,以后翻表格时,超支的月份一眼就能识别出来。
合并与整理多个表
有时候数据分散在不同文件里,比如上半年一个表,下半年一个表。用 rbind() 可以纵向合并:
full_year <- rbind(first_half, second_half)
要是有两个相关但字段不同的表,比如一个存用量,一个存缴费时间,可以用 merge() 按共同列(如月份)拼起来,像搭积木一样完整还原全年情况。
导出处理后的结果
分析完想分享给家人看,可以保存成新的CSV文件:
write.csv(bill_data, "monthly_bill_analysis.csv", row.names = FALSE)
之后用Excel打开,格式清清楚楚,还能继续打印贴墙上提醒自己别乱用流量。
这些操作看起来简单,但组合起来就能解决生活中不少琐碎的数据问题。不用懂多高深的编程,会几行命令,就能让数据乖乖听话。