R语言学习
周一到周五白天都需要在医院晃啊晃,周六终于能好好的把自己每次的操作过程写下来了,竟然还是午睡之后起来写作业,伐开心啊
准备工作
1.生信星球公众号回复“tidyr”获取R包(R包是函数、数据和文档的集合,是对R基础功能的扩展)
2.tidyr包:数据框的变型;处理数据框中的空值;根据一个表格衍生出其他表格;实现行和列的分割和合并
3.安装tidyr包
library(tidyr) 载入tidyr包
image.png image.png
所以我是已经有了吗???我自己都不知道
4.新建数据框
5.tidydata
数据整理时同样的数据可以整理成不同的形式
当我们用R处理数据时,应该遵循Tidy data的原则:
每一列:代表一个变量(vairable)
每一行:代表一次观测(observation)
我们在正式对生物信息学数据进行统计分析之前,应该先把我们的数据格式转换为Tidy data格式,因为R语言中的大多数包都只支持Tidy data格式的数据。
gather函数:将宽数据变成长数据格式
gather(data, key, value, ..., na.rm = FALSE, convert = FALSE, factor_key = FALSE)
spread函数:将长数据变成宽数据格式
spread(data, key, value, fill = NA, convert = FALSE, drop = TRUE, sep = NULL)
key:键名
value:键值
练习
1.复制小抄中的数据 (不手敲一遍,永远都不知道自己会死在哪里~但这次我真的没死,哈哈)
image.png
2.gather(a,X1999,X2000,key = "year",value = "cases"),gather括号中的内容:数据框名,需合并的列名(两个),合并后的key列名,value列名。
image.png出现错误:X没有大写
3.处理丢失的数据
在这里补充下csv的导入和导出方式。(默认参数好,学R没烦恼)
导入:X<-read.csv('doudou.csv')
导出:write.csv(X,'doudou.csv')
花花说这步想夸她千万别忍着,虽然通过昨天的学习了解到了 csv的优点,但是还没有机会真真切切的体会到,就先夸夸你,花花好棒啊!偶像,偶像
X<-read.csv('doudou.txt')
出现的问题:路径的设置,附上前天的笔记:虽然做了笔记,还是一本正经犯错!打脸......
image.png
drop_na():有空值的,整行删除掉
括号里填数据框名,依据的列名(有空值那一列的列名)
fill(),根据上一行的数值填充上
replace_na(),空值填进去特定的一个数值(还是在应付)
括号里填数据框名,要填的列名=要填的值
image.png
4.expand tables
image.pngcomplete:把控制的位置补全
image.png
5.分割和合并
separate:按列分割
separate_rows:按行分割
unite:分割完了再合并回去
还是需要直接看出来的图才能明白这些意思啊
image.png
image.png
网友评论