A taste of R language

作者: Javalover93 | 来源:发表于2017-02-28 17:37 被阅读96次

适合的阅读群体:
R语言初学者,或对R有兴趣的朋友。

为用而用

看了那么久的关于R的材料,我必须要试试看了。拿到一个数据集想要做做数据清理,结果各种碰壁,只知道如何去计算,而不知道如何去整理。无奈只能拿自己整理的一个小数据集“成龙电影豆瓣评分”来尝尝R做描述性数据分析的味道。
另外:
The RStuido's support for Chinese input is awful. 时好时坏的,代码里的中文也会被语法检测报错,但不影响编译。

数据文本

我自己爬取整理的数据:http://pan.baidu.com/s/1eSzdxi6
本文档的Rmd文档:http://pan.baidu.com/s/1eSJwkTW

食用指南

  • 在RStudio里打开Rmd文档,点击Run,即可编译查看结果,不知道RStudio的朋友可以查看开始学习R的五个步骤
  • 如果RStudio打开中文乱码,选择File/Reopening with encoding/UTF-8即可。
  • 不理解函数的作用的,在console里输入问号后跟函数名?fun_name即可查看文档。

数据整理

各行代码的作用:

  • 读取txt数据到Jack_data;
  • 提取符合有效评论和成龙主演两个条件的评分数据,保存到rating;
  • 提取相同条件的年份数据,保存到year;
  • 组成一个data_frame;(其实可以和上面两步合并成一部啊!)
  • 按照年份计算当年电影的平均评分,保存到jack_yearly;
  • 计算历史均分,保存到mean_all。
Jack_data <- read.delim('JackieChan.txt', header = TRUE, stringsAsFactors = FALSE, na.strings = c('评分人数不足'))
rating <- as.numeric(Jack_data[which(!is.na(Jack_data$评分) & Jack_data$成龙电影 == 'True'),3])
year <- Jack_data[which(!is.na(Jack_data$评分) & Jack_data$成龙电影 == 'True'),2]
jack <- data.frame(year, rating, stringsAsFactors = FALSE)
jack_yearly <- aggregate(jack, list(Year = jack$year), mean)
mean_all <- mean(rating)

绘制结果

各行代码的作用:

  • 绘制图形,年份在x轴,年度均分在y轴,并设置坐标轴名称;
  • 增加历史总均值为基准线;
  • 增加历史总均值基准线的文字标注;
  • 设置x轴显示的坐标;
  • 增加图标标题;
  • 显示图标网格。
plot(jack_yearly$Year, jack_yearly$rating, type = 'b', xlab = 'Year', ylab = 'Annually Average Rating')
abline(h = mean_all, col = 'blue')
text(1975, 6.7, labels = 'Total Mean')
axis(1, at = seq(1970,2020,5))
title(main = 'Jack Chan Movie Rating Over the Years')
grid()
最后的图

相关文章

网友评论

本文标题:A taste of R language

本文链接:https://www.haomeiwen.com/subject/gqzxgttx.html