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--数学狗还是做数据好了的更多相关文章

  1. 【Go语言入门系列】(七)如何使用Go的方法?

    [Go语言入门系列]前面的文章: [Go语言入门系列](四)之map的使用 [Go语言入门系列](五)之指针和结构体的使用 [Go语言入门系列](六)之再探函数 本文介绍Go语言的方法的使用. 1. ...

  2. R语言数据分析系列之四

    R语言数据分析系列之四 -- by comaple.zhang 说到统计分析我们就离不开随机变量,所谓随机变量就是数学家们为了更好的拟合现实世界的数据而建立的数学模型.有了她我们甚至能够来预測一个站点 ...

  3. Go语言入门系列(四)之map的使用

    本系列前面的文章: Go语言入门系列(一)之Go的安装和使用 Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 1. 声明 map是一种映射,可以将键(key)映射到值(val ...

  4. Go语言入门系列(五)之指针和结构体的使用

    Go语言入门系列前面的文章: Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 Go语言入门系列(四)之map的使用 1. 指针 如果你使用过C或C++,那你肯定对指针这个概念 ...

  5. 【Go语言入门系列】(八)Go语言是不是面向对象语言?

    [Go语言入门系列]前面的文章: [Go语言入门系列](五)指针和结构体的使用 [Go语言入门系列](六)再探函数 [Go语言入门系列](七)如何使用Go的方法? 1. Go是面向对象的语言吗? 在[ ...

  6. 【Go语言入门系列】(九)写这些就是为了搞懂怎么用接口

    [Go语言入门系列]前面的文章: [Go语言入门系列](六)再探函数 [Go语言入门系列](七)如何使用Go的方法? [Go语言入门系列](八)Go语言是不是面向对象语言? 1. 引入例子 如果你使用 ...

  7. R语言数据分析系列六

    R语言数据分析系列六 -- by comaple.zhang 上一节讲了R语言作图,本节来讲讲当你拿到一个数据集的时候怎样下手分析,数据分析的第一步.探索性数据分析. 统计量,即统计学里面关注的数据集 ...

  8. 用几分钟了解R语言入门知识

    第一篇——用几分钟了解R语言入门知识 第二篇——用几分钟了解R语言入门知识(续) 关于数据分析学习笔记的计划(以及目录)

  9. R语言数据分析系列之五

    R语言数据分析系列之五 -- by comaple.zhang 本节来讨论一下R语言的基本图形展示,先来看一张效果图吧. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi ...

随机推荐

  1. [poj2492]A Bug's Life(并查集+补集)

    A Bug's Life Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 34678   Accepted: 11339 D ...

  2. JAVA 1.6 流程控制语句

    1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...

  3. Nginx模块之———— RTMP模块 统计某频道在线观看流的客户数

    获得订阅者人数,可以方便地显示观看流的客户数. 查看已经安装好的模块 /usr/local/nginx/sbin/nginx -V 安装从源编译Nginx和Nginx-RTMP所需的工具 sudo a ...

  4. mac office 激活

    详见:http://blog.csdn.net/tech4j/article/details/47953311

  5. 网上找的Gif图片解析类

    这个是搜到的大部分的答案 下面贴出来代码 public class MyGifView extends View { private long movieStart; private Movie mo ...

  6. Gamemaker Studio运行时弹出打开窗口导致无法启动的错误

    Desc 初次使用遇到一个问题,点击Run的时候并没有运行当前工程而是弹出一个打开窗体 Steam里面相同问题描述:Compile error 后续才得知是要选择data.win,但是这个文件根本就没 ...

  7. c#基础3

    Console.WriteLine("屏幕显示的内容"); Console.Write("屏幕显示的内容"); 两者区别是:Console.WriteLine( ...

  8. CentOS7 yum 安装git

    1.查看系统是否已经安装git git --version 2.CentOS7 yum 安装git yum install -y git 3.安装成功 4.卸载git yum remove git

  9. 周爱民:真正的架构师是没有title的(图灵访谈)

    周爱民,现任豌豆荚架构师,国内软件开发界资深软件工程师.从1996年起开始涉足商业软件开发,历任部门经理.区域总经理.高级软件工程师.平台架构师等职,有18年的软件开发与架构.项目管理及团队建设经验, ...

  10. SSM框架学习之高并发秒杀业务--笔记5-- 并发优化

    前几节终于实现了这个高并发秒杀业务,现在问题是如何优化这个业务使其能扛住一定程度的并发量. 一. 优化分析 对于整个业务来说,首先是分析哪些地方会出现高并发,以及哪些地方会影响到了业务的性能.可能会出 ...