R语言入门系列1--数学狗还是做数据好了
nanana,作为一个不合格的数学专业学生,脑袋不好使,又穷逼,只好学点儿实用的东西,希望能养活自己~~~
不瞎哔哔,想做数据方面工作的时候在犹豫是学R还是学python,一点儿python基础都没有强行用了一个python爬虫,发现python还是比较的麻烦(但是还是后来还是花了一些时间学了一些python基础的语法,发现python真的很棒,但是总感觉R更加的合适,R真的是比较美妙的东西~~~)所以现在在R的路上飘渺着~~~请多指教啦!
1. R向量
我很喜欢这东西,做大物实验的时候太方便了-.-
> X1 <- c(1:20)
> x1
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
如你所见,函数c()就是生成一个向量,1:20表示从1开始以间隔为1加到20
那么要以2为间隔加到20怎么办呢?
> x2 <- c(1:20:2)
看起来是不是很对的样子,是不是很像matlab?但是---
In 1:40:2 : numerical expression has 40 elements: only the first used
出错啦!!!问题就在于c()不能这么用!然而我并不知道为什么不能这么用。。。
正确的如下所示:
> x2 <- seq(1,20,2)
> x2
[1] 1 3 5 7 9 11 13 15 17 19
注意哈,seq里面用的是“,”不是“:”,我在这上面踩了不少的坑=。=
那如果我想生成从1开始到100的平方呢?
>兄弟,这个还是写循环吧//我不会了额
2. 矩阵
矩阵嘛,就是一个两维的数组而已啦,但是里面的东西必须是一个类型的,比如是数值,那就都是数值,是字符,就都是字符。
> x3 <- matrix(1:20,ncol = 5,nrow = 4)
> x3
[,1] [,2] [,3] [,4] [,5]
[1,] 1 5 9 13 17
[2,] 2 6 10 14 18
[3,] 3 7 11 15 19
[4,] 4 8 12 16 20
据说还有什么按行按列排序,详细的就看R文档吧~~多好。
3.数据框
忘了数组(声明记得array就好)。。。没关系,直接数据框吧 data.frame(c1,c2...)
就是这么个形式,来看看实例吧
> c1 <- c(1:20)
> c2 <- seq(1,60,3)
> m <- data.frame("第一列" = c1,"第二列" = c2)
> m
第一列 第二列
1 1 1
2 2 4
3 3 7
4 4 10
5 5 13
6 6 16
7 7 19
8 8 22
9 9 25
10 10 28
11 11 31
12 12 34
13 13 37
14 14 40
15 15 43
16 16 46
17 17 49
18 18 52
19 19 55
20 20 58
注意到没有,header是第一列、第二列,对的,就是这样标明的!
又忘了说怎么访问。。。我晕了,来乱入一段关于访问的:
> m[2,] //访问第二行
第一列 第二列
2 2 4
> m[,2] //访问第二列
[1] 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 58
> m[2,2] //
[1] 4
ps:为什么我总是访问2....
再乱入一个plot,
> plot(m)

用R写个循环来看看!
> s[1] <- 0
> s
[1] 0 2 5 9 14 20 27 35 44 54 65 77 90 104 119 135 152 170 189 209 230
讲道理,真心感觉这样子写循环好累啊,语句好短~~
写while的时候把小于号打成了“<-”然后进入死循环。。。直接关了进程,明天再干
R语言入门系列1--数学狗还是做数据好了的更多相关文章
- 【Go语言入门系列】(七)如何使用Go的方法?
[Go语言入门系列]前面的文章: [Go语言入门系列](四)之map的使用 [Go语言入门系列](五)之指针和结构体的使用 [Go语言入门系列](六)之再探函数 本文介绍Go语言的方法的使用. 1. ...
- R语言数据分析系列之四
R语言数据分析系列之四 -- by comaple.zhang 说到统计分析我们就离不开随机变量,所谓随机变量就是数学家们为了更好的拟合现实世界的数据而建立的数学模型.有了她我们甚至能够来预測一个站点 ...
- Go语言入门系列(四)之map的使用
本系列前面的文章: Go语言入门系列(一)之Go的安装和使用 Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 1. 声明 map是一种映射,可以将键(key)映射到值(val ...
- Go语言入门系列(五)之指针和结构体的使用
Go语言入门系列前面的文章: Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 1. 指针 如果你使用过C或C++,那你肯定对指针这个概念 ...
- 【Go语言入门系列】(八)Go语言是不是面向对象语言?
[Go语言入门系列]前面的文章: [Go语言入门系列](五)指针和结构体的使用 [Go语言入门系列](六)再探函数 [Go语言入门系列](七)如何使用Go的方法? 1. Go是面向对象的语言吗? 在[ ...
- 【Go语言入门系列】(九)写这些就是为了搞懂怎么用接口
[Go语言入门系列]前面的文章: [Go语言入门系列](六)再探函数 [Go语言入门系列](七)如何使用Go的方法? [Go语言入门系列](八)Go语言是不是面向对象语言? 1. 引入例子 如果你使用 ...
- R语言数据分析系列六
R语言数据分析系列六 -- by comaple.zhang 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候怎样下手分析,数据分析的第一步.探索性数据分析. 统计量,即统计学里面关注的数据集 ...
- 用几分钟了解R语言入门知识
第一篇——用几分钟了解R语言入门知识 第二篇——用几分钟了解R语言入门知识(续) 关于数据分析学习笔记的计划(以及目录)
- R语言数据分析系列之五
R语言数据分析系列之五 -- by comaple.zhang 本节来讨论一下R语言的基本图形展示,先来看一张效果图吧. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi ...
随机推荐
- hihoCoder 1425 : What a Beautiful Lake(美丽滴湖)
hihoCoder #1425 : What a Beautiful Lake(美丽滴湖) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...
- less文件编译成微信小程序wxss文件
2016年9月21日,微信小程序正式开启内测.在微信生态下,触手可及.用完即走的微信小程序引起广泛关注,刷爆朋友圈子.在这样的火爆氛围中,作为一个前端开发者的我,也悄悄地去尝鲜.在做demo小示例的过 ...
- 最详细的Log4j使用教程
日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录.在apache网站:jakarta.apache.org/log4j 可以免费下载到Log ...
- 使用JS实现轮播图的效果
其中的一些css样式代码就省略了,下面只把结构层html.行为层js的代码展示出来 ,看代码说事. 一.简单的轮播图 <div class="box" id="bo ...
- SQL Server Reporting Service(SSRS) 第四篇 SSRS 用法总结
1. 如何让表头在每页显示(译) A. 打开高级模式: 在分组栏中点击Column Goups右侧的箭头选择高级模式; B. 找到第一个Static组 在Row Groups区域中(注意不是Colu ...
- VS2010+Qt+OpenCv(显示图像)
Qt在界面显示窗口中起着越来越重要的作用,从而了解了下如何在Qt中显示一副图像. 该小程序主要注意一下几点: 1.工程属性中设置OpenCV的环境(包含目录和库目录,以及附加依赖项),设置Qt的环境( ...
- Eclipse WTP Tomcat hot deploy
转自: http://ducquoc.wordpress.com/2010/11/06/eclipse-wtp-tomcat-hot-deploy/ One of the reasons why Ja ...
- 关于《hibernate多对多》有中间表的建立
角色 与 菜单(资源)的多对多关系,在这里我们建立中间表,用两个oneToMany实现 实体类: 角色(GmRole) 菜单(GmMenu) 中间表(GmRoleRight) 1.在角色实体中 pa ...
- 正则匹配中 ^ $ 和 \b 的区别
正则匹配中 ^ $ 和 \b 的区别 ^和$分别代表字符串的开始和结束,因此^\d$只能匹配包含一个数字的字符串\b代表单词边界,其前后必须是不同类型的字符,可以组成单词的字符为一种类型,不可 ...
- log4j输出日志到文件
输出端Appender Appender用来指定日志信息输出到哪个地方,可以同时指定多个输出目的地.Log4j允许将信息输出到许多不同的输出设备中,一个log信息输出目的地就叫做一个Appender. ...