R语言基础入门之二:数据导入和描述统计
by 写长城的诗 • October 30, 2011 • Comments Off
This post was kindly contributed by 数据科学与R语言 - go there to comment and to read the full post. |
一、数据导入
对初学者来讲,面对一片空白的命令行窗口,第一道真正的难关也许就是数据的导入。数据导入有很多途径,例如从网页抓取、公共数据源获得、文本文件导入。为了快速入门,建议初学者采取R语言协同Excel电子表格的方法。也就是先用较为熟悉的Excel读取和整理你要处理的数据,然后“粘贴”到R中。
例如我们先从这个地址下载iris.csv演示数据,在Excel中打开,框选所有的样本然后“复制”。在R语言中输入如下命令:
data=read.table('clipboard',T)
这的里read.table是R读取外部数据的常用命令,T表示第一行是表头信息,整个数据存在名为data的变量中。另一种更方便的导入方法是利用Rstudio的功能,在workspace菜单选择“import dataset”也是一样的。
二、Dataframe操作
在数据导入R语言后,会以数据框(dataframe)的形式储存。dataframe是一种R的数据格式,可以将它想象成类似统计表格,每一行都代表一个样本点,而每一列则代表了样本的不同属性或特征。初学者需要掌握的基本操作方法就是dataframe的编辑、抽取和运算。
尽管建议初学者在Excel中就把数据处理好,但有时候还是需要在R中对数据进行编辑,下面的命令可以让你有机会修改数据并存入到新的变量newdata中:
newdata=edit(data)
另一种情况就是我们可能只关注数据的一部分,例如从原数据中抽取第20到30号样本的Sepal.Width变量数据,因为Sepal.Width变量是第2个变量,所以此时键入下面的命令即可:
newdata=data[20:30,2]
如果需要抽取所有数据的Sepal.Width变量,那么下面两个命令是等价的:
newdata=data[,2] newdata=data$Sepal.Width
第三种情况是需要对数据进行一些运算,例如需要将所有样本的Sepal.Width变量都放大10倍,我们先将原数据进行一个复制,再用$符号来提取运算对象即可:
newdata=data newdata$Sepal.Width=newdata$Sepal.Width*10
三、描述统计
描述统计是一种从大量数据中压缩提取信息的工具,最常用的就是summary命令,运行summary(data)得到结果如下:对于数值变量计算了五个分位点和均值,对于分类变量则计算了频数。
也可以单独计算Sepal.Width变量的平均值和标准差
mean(data$Sepal.Width) sd(data$Sepal.Width)
计算分类数据Species变量的频数表和条形图
table(data$Species) barplot(table(data$Species))
对于一元数值数据,绘制直方图和箱线图观察其分布是常用的方法:
hist(data$Sepal.Width) boxplot(data$Sepal.Width)
对于二元数值数据,则可以通过散点图来观察规律
plot(data$Sepal.Width,Sepal.Length)
如果需要保存绘图结果,建议使用Rstudio中的plot菜单命令,选择save plot as image
R语言基础入门之二:数据导入和描述统计的更多相关文章
- 【计理05组01号】R 语言基础入门
R 语言基本数据结构 首先让我们先进入 R 环境下: sudo R 赋值 R 中可以用 = 或者 <- 来进行赋值 ,<- 的快捷键是 alt + - . > a <- c(2 ...
- R语言基础入门
请先安装好R和RStudio 如果不干别的,控制台就是一个内置计算器 2 * 3 #=> 6 sqrt(36) #=> 6, square root log10(100) #=> 2 ...
- R语言基础:数组&列表&向量&矩阵&因子&数据框
R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...
- R语言快速入门
R语言是针对统计分析和数据科学的功能全面的开源语言,R的官方网址:http://www.r-project.org/ 在Windows环境下安装R是很方便的 R语言的两种运行模式:交互模式和批处理模 ...
- PHP基础入门(二)【PHP函数基础】
PHP基础入门(二)--函数基础 了解 PHP基础入门详解(一) 后,给大家分享一下PHP的函数基础. 这部分主要讲的就是: 函数的声明与使用.PHP中变量的作用域.静态变量.函数的参数传递.变量函数 ...
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- R 语言 相关入门资料
<R语言基础语法入门>: http://www.xueqing.tv/upload/april-training/day1/index.html#1
- C语言高速入门系列(二)
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...
- 【R笔记】R语言进阶之4:数据整形(reshape)
R语言进阶之4:数据整形(reshape) 2013-05-31 10:15 xxx 网易博客 字号:T | T 从不同途径得到的数据的组织方式是多种多样的,很多数据都要经过整理才能进行有效的分析,数 ...
随机推荐
- 全局enter回车键js
js实现敲回车键触发事件 document.onkeydown = function(e){ var ev = document.all ? window.event : e; ){ alert(&q ...
- badboy脚本参数化和检查点
一.badboy脚本参数化 文本参数化 方式一:直接在Variablesl ist添加参数化变量和值,然后在Script里面找到对应需要参数化的内容-属性,进行替换,参数化名需要用${XX}引用: 方 ...
- 2014牡丹江——Known Notation
题目链接 题意: 输入一个长度不超过1000的字符串,包含数字(1-9)和星号(*).字符串中的空格已经丢失,所以连起来的数字串能够看成很多分开的数.也能够看成连续的数,即能够随意加入空格. 如今有两 ...
- vue增删改查
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- centos7 安装python3.6
•到python官网找到下载路径, 用wget下载 wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz •解压tgz包 tar ...
- boost之网络通信
ip::tcp的内部类型socket,acceptor以及resolver是TCP通信中最核心的类. 1.同步客户端代码: #include <iostream> #include < ...
- TCP/IP/UDP 协议
互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作 ...
- python爬取百度翻译返回:{'error': 997, 'from': 'zh', 'to': 'en', 'query 问题
解决办法: 修改url为手机版的地址:http://fanyi.baidu.com/basetrans User-Agent也用手机版的 测试代码: # -*- coding: utf-8 -*- & ...
- FSR薄膜压力传感器使用教程
FSR薄膜压力传感器教程 本店常用的外形有2种: 圆形: 长条形: 如果用单片机控制建议买带转换的,可以直接接单片机AD口或者数字IO去读取数值: 电压输出的AO接口是模拟量输出,可以接单片机的模拟口 ...
- 【WEB】前段优化
模块化管理: sea.js, require.js 压缩:r.js gulp.js, grunt.js 加速:cdn