机器学习案例解析第一章笔记(ggplot,ggsave,merge,gsub,as.Date,read.*)
2015-03-29 22:56
393 查看
read.*
read.*默认会把字符串转换成factor类型. 我们需要使用stringAsFactors=FALSE来防止转换.
ex:
ufo <- read.delim(file.path("./ufo_awesome.tsv"), sep = "\t", stringsAsFactors = FALSE, header = FALSE, na.strings = "")
as.Date日期操作
ex:ufo$DateOccurred <- as.Date(ufo$DateOccurred, format = "%Y%m%d") ufo.us <- subset(ufo.us, DateOccurred >= as.Date("1990-01-01"))#提取出90年后的数据!
将对应列转换为特定的日期类型.
日期转化strftime
ufo.us$YearMonth <- strftime(ufo.us$DateOccurred, format = "%Y-%m")#将年月日转化成年月
捕获异常
get.location <- function(l) { split.location <- tryCatch(strsplit(l, ",")[[1]],error = function(e) return(c(NA, NA)))#由于并不是所有的格式都为(city,state),利用捕获异常来返回特定的(NA,NA) clean.location <- gsub("^ ","",split.location)#有一些数据开头有空格,利用正则表达式来替换空格 if (length(clean.location) > 2) { return(c(NA,NA)) } else { return(clean.location) } }
transform添加新列
ufo <- transform(ufo, USCity = location.matrix[, 1], USState = location.matrix[, 2], stringsAsFactors = FALSE)
ggplot2画直方图ggsave保存
quick.hist <- ggplot(ufo.us, aes(x = DateOccurred)) + geom_histogram() + scale_x_date(breaks = "50 years") ggsave(plot = quick.hist, filename = file.path("images", "quick_hist.pdf"), height = 6, width = 8)
ggplot2多行列图
state.plot <- ggplot(all.sightings, aes(x = YearMonth,y = Sightings)) + geom_line(aes(color = "darkblue")) + #画直线 facet_wrap(~State, nrow = 10, ncol = 5) + #按照state列画多图 theme_bw() + #白色背景黑色网格线 scale_color_manual(values = c("darkblue" = "darkblue"), guide = "none") + scale_x_date(breaks = "5 years", labels = date_format('%Y')) + xlab("Years") + ylab("Number of Sightings") + ggtitle("Number of UFO sightings by Month-Year and U.S. State (1990-2010)") # Save the plot as a PDF ggsave(plot = state.plot, filename = file.path("images", "ufo_sightings.pdf"), width = 14, height = 8.5)
ggplot2操作的必须是数据框,
scale_x_date函数将x轴标签的时间周期改为50年.
ggsave把可视化结果保存在文件里
merge 多列合并
all.sightings <-merge(states.dates,sightings.counts,by.x = c("s", "date.strings"),by.y = c("USState", "YearMonth"),all = TRUE)
相关文章推荐
- 机器学习笔记:tensorflow实现卷积神经网络经典案例--识别手写数字
- 通过案例,解析Date对象用法的套路
- 机器学习实战笔记 k 近邻算法 函数解析
- 『机器学习——周志华』学习笔记——第一章
- 机器学习笔记-第一章 单变量线性回归
- [机器学习入门] 李宏毅机器学习笔记-2 (Regression:Case Study ;回归:案例研究)
- 模式识别学习笔记-第一章 机器学习的基本问题
- 机器学习:实用案例解析
- 机器学习系列笔记1:《统计学习》李航博士 第一章 统计学习方法概论
- date命令解析_学习笔记
- building machine learning system with Python 学习笔记--从零开始机器学习(2)第一章
- 第一章 机器学习笔记 开始机器学习
- 第103讲:通过案例解析Akka中的Actor的定义和创建学习笔记
- [学习笔记]Silverlight4 RIA 开发全程解析[项目全程记录]----第一章FitnessTrackerPlus应用程序概述
- 第三章 Boostrap 框架解析--栅格系统案例 笔记1
- 机器学习实用案例解析--读书笔记
- Mahout 算法解析与案例实战 笔记目录
- [读书笔记] 《机器学习-实用案例解析》 Wiki
- SQL案例解析笔记
- 机器学习笔记3-id3算法决策树程序解析