R语言学习-----访问变量处理数据库子集

上集回顾

  上一节我们学了数据中的载入方式,也就是各种格式的数据放入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)。


学习感悟:这一章纠结了好久,因为从一开始载入数据就产生了一些难以解决的问题,后续的题目也是基于前面问题顺利解决的基础上才可以完成,所以后续的内容进行的也非常艰难,还是有必要好好从头把第三章的题目都做一遍,完整解决掉,不然后面的章节遇到这些内容也会产生很大的麻烦。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值