上集回顾
上一节我们学了数据中的载入方式,也就是各种格式的数据放入excel中,然后生成制表符分隔的文本文档,再再RStudio中用read.table(file= , header=TRUE)
或者scan(file= , what='c')
来读取到R中。
访问数据库变量
R不只是可以用来做可视化,也是分析数据处理数据的神兵利器,这样,从原始数据载入到数据分析处理,再到出图呈现归路都在R中实现,选择R真没错!
我们学习的样本还是前面用过的鱿鱼数据,我们重新导入鱿鱼数据并用names(数据框)
来查看我们正在处理的变量:
str函数 str(数据库)
str函数用来查看数据框中每个变量的属性。查看变量属性是否和自己预期的一样十分重要,这避免了很多的数据导入混乱。要始终将read.table names str
三个函数结合使用。
函数中的数据参数
M1 <- lm(GSI ~ factor(Location) + factor(Year), data = Squid)
,举这个例子说明函数和参数用法。一般是先根据要分析的操作确定一个函数,如线性回归函数lm,然后告诉函数在找数据,如data = Squid。并不是所有的函数都有data参数,如果有就使用。
$符号
对于没有data参数的函数,可以有下面两种方法访问变量:
- 使用 : 如 ‘ S q u i d :如`Squid :如‘SquidGSI`访问了其中GSI列的数据。
Squid[,6]
有同样的作用
其中,使用前者可以避免一段时间后忘记访问的是什么数据。注意,有些函数并不支持第一种访问方法。
attach函数
使用attach函数是个有利有弊的举措,attach函数可以把变量添加到R搜索路径里,这样的话就可以直接使用每一个函数而直接用这个变量命来访问。但是如果这个变量名和函数名称或者别的数据框的变量名重复的话,则会产生问题。因此,在使用attch时要注意几点:
- 不要输入attach(同一个变量)两次,避免复制变量。
- 确保attach使用唯一的变量名称,避免用月份、位置等。
- 合理使用detach移除R搜索路径里的数据框。
习题一:使用流行病数据练习使用read.table函数并访问数据框里的变量
处理excel文件要注意空格问题以及数据格式等。
但是在完成后面的要求的时候产生了问题,后面要求按年份统计流感病例,但是我导入数据的时候把年份那个行删除了。但是保留的话,因为头行是下面数据的一半,导入会报错:
这个问题郁闷了好久,被师兄一句话解决了,把那个表头拆开就行啦。
现在导入就是这样:
这里还有个问题就是为什么导入进去的年份前面会有个X,查询好久也没有解决,考虑到效率原则,这个问题先放一放,后面在回过头来解决它。
访问数据子集
使用$显示子集:
使用unique
命令显示有多少唯一值:
提取指定变量值所在的行(这里提取sex为1的记录):
习题二:访问深海数据框的子集
访问站点1的数据集,共计38个观察值。其最大最小值,中位值,均值:
访问站点2的数据集,共计44个观察值。其最大最小值,中位值,均值:
访问站点3的数据集,共计27个观察值。其最大最小值,中位值,均值:
提取深度超过2000米测量的数据:
习题三:把上一节的over2000数据输出到新的ascii文件
其中,write.table函数的第一个参数是要输出的变量,然后是文件名、sep保证数据用空格隔开、quote消除字符串(标题)的引号标志,na="NA"指定代替缺失值,append打开一个新文件(但是有时候需要把很多处理结果放在一个文件要用TURE)。
学习感悟:这一章纠结了好久,因为从一开始载入数据就产生了一些难以解决的问题,后续的题目也是基于前面问题顺利解决的基础上才可以完成,所以后续的内容进行的也非常艰难,还是有必要好好从头把第三章的题目都做一遍,完整解决掉,不然后面的章节遇到这些内容也会产生很大的麻烦。