R读书笔记一:变量,向量,数组,矩阵,数据框,读写文件,控制流

R读书笔记一:变量,向量,数组,矩阵,数据框,读写文件,控制流

1、创建向量和矩阵

函数c( ), length( ), mode( ), rbind( ), cbind( )

1)创建向量,求向量长度,向量类型。


> x1=c(2,4,6,8,0)
> x2=c(1,3,5,7,9)
> length(x1)
[1] 5
> mode(x1)
[1] "numeric"


> x1
[1] 2 4 6 8 0
> x1[3]
[1] 6
> a1=c(1:100)
> length(a1)
[1] 100

2)创建矩阵,向量合成矩阵。


> rbind(x1,x2)
[,1] [,2] [,3] [,4] [,5]
x1 2 4 6 8 0
x2 1 3 5 7 9
> cbind(x1,x2)
x1 x2
[1,] 2 1
[2,] 4 3
[3,] 6 5
[4,] 8 7
[5,] 0 9
> m1=rbind(x1,x2)
> m1
[,1] [,2] [,3] [,4] [,5]
x1 2 4 6 8 0
x2 1 3 5 7 9

2、求平均值,和,连乘,最值,方差,标准差

函数mean( ), sum( ), min( ), max( ), var( ), sd( ), prod( )


> x=c(1:100)
> mean(x)
[1] 50.5
> sum(x)
[1] 5050
> max(x)
[1] 100
> min(x)
[1] 1
> var(X)
错误于is.data.frame(x) : 找不到对象‘X‘
> var(x)
[1] 841.6667
> prod(x)
[1] 9.332622e+157
> sd(x)
[1] 29.01149

3、寻求帮助


> help(matrix)
> help(mode)

4、一些函数

1)which( )函数


> a=c(2,3,4,2,5,1,6,3,2,5,8,5,7,3)
> which.max(a)
[1] 11
> which.min(a)
[1] 6
> a[which.max(a)]
[1] 8
> which(a==2)
[1] 1 4 9
> a[which(a==2)]
[1] 2 2 2
> which(a>5)
[1] 7 11 13
> a[which(a>5)]
[1] 6 8 7

2)seq( )函数


> seq(5,20)
[1] 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
> seq(5,121,by=2)
[1] 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47
[23] 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91
[45] 93 95 97 99 101 103 105 107 109 111 113 115 117 119 121
> seq(5,121,by=2,length=10)
错误于seq.default(5, 121, by = 2, length = 10) : 太多参数
> seq(5,121,length=10)
[1] 5.00000 17.88889 30.77778 43.66667 56.55556 69.44444 82.33333 95.22222
[9] 108.11111 121.00000

3)字母序列letters


> letters[1:30]
[1] "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v"
[23] "w" "x" "y" "z" NA NA NA NA

5、生成矩阵


> a1=c(1:12)
> matrix(a1,nrow=3,ncol=4)
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> matrix(a1,nrow=4,ncol=3)
[,1] [,2] [,3]
[1,] 1 5 9
[2,] 2 6 10
[3,] 3 7 11
[4,] 4 8 12
> matrix(a1,nrow=4,ncol=3,byrow=T)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
[4,] 10 11 12

6、数据框


> x1=c(10,13,45,26,23,12,24,78,23,43,31,56)
> x2=c(20,65,32,32,27,87,60,13,42,51,77,35)
> x=data.frame(x1,x2)
> x
x1 x2
1 10 20
2 13 65
3 45 32
4 26 32
5 23 27
6 12 87
7 24 60
8 78 13
9 23 42
10 43 51
11 31 77
12 56 35
> x=data.frame(‘重量‘=x1,‘运费‘=x2)
> x
重量 运费
1 10 20
2 13 65
3 45 32
4 26 32
5 23 27
6 12 87
7 24 60
8 78 13
9 23 42
10 43 51
11 31 77
12 56 35

时间: 2024-08-24 08:27:10

R读书笔记一:变量,向量,数组,矩阵,数据框,读写文件,控制流的相关文章

《C++ Primer 4th》读书笔记 第4章-数组和指针

原创文章,转载请注明出处: http://www.cnblogs.com/DayByDay/p/3911573.html <C++ Primer 4th>读书笔记 第4章-数组和指针

PHP读书笔记(6)- 数组

数组定义 数组就是一个键值对组成的语言结构,键类似于酒店的房间号,值类似于酒店房间里存储的东西.PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型. 定义数组 array() 可以用 array() 语言结构来新建一个数组.它接受任意数量用逗号分隔的 键(key) => 值(value)对. array( key => value , ... ) // 键(key)可是是一个整数 integer 或字符串 string // 值(value)可以是任意类

【黑客免杀攻防】读书笔记12 - 指针与数组

1.指针与数组 C源码 前两组printf()函数是以指针方式访问数组nArray中的数据的,而后两组printf()函数则是使用数组下标的方式访问数组nArray中的数据的. int _tmain(int argc, _TCHAR* argv[]) { // 数组赋值 int nArray[3] = {0x10,0x20,0x300}; // 数组地址赋值给指针 int *pPtr = nArray; // 输出指针中地址 printf("%x %x %x\r\n", pPtr+0,

【读书笔记】C#高级编程 第二十四章 文件和注册表操作

(一)文件和注册表 对于文件系统操作,相关的类几乎都在System.IO名称空间中,而注册表操作由System.Win32名称空间中的类来处理. (二)管理文件系统 System.MarshalByRefObject--这是.NET类中用于远程操作的基对象类,它允许在应用程序域之间编组数据. FileSystemInfo--这是表示任何文件系统对象的基类. FileInfo和File--这些类表示文件系统上的文件. DirectoryInfo和Directory--这些类表示文件系统上的文件夹.

时间序列 R 读书笔记 Forecasting: principles and practice 06 回归概述

1 简单回归 1.1 线性回归残差性质 线性回归想必大家都比较熟悉了, 其回归方程是y^i=β^0+β^1xi 残差是:ei=yi?y^i=yi?β^0?β^1xi. 残差有以下性质: ∑i=1Nei=0and∑i=1Nxiei=0. 其残差为白噪声且与自变量没有关系 1.2 回归与相关性 回归与相关性有较大的关系,设相关系数为r,sy,sx分别为y和x的观测值,他满足下式: β^1=rsysx, 可以看出线性回归将相关性联系起来 1.3 回归模型的评估 1.3.1 残差图绘制 绘制残差图能够清

数据结构与算法(刺猬书)读书笔记(1)----数组

在JavaScript中,数组其实是一种特殊的对象,用来表示偏移量的索引是该对象的属性,所以JavaScript的数组本质上是对象.同时这些数字索引在内部会被转换成为字符串类型,因为JavaScript对象中的属性名必须是字符串.此外,JavaScript数组还有一个特点,就是数组的每一项可以保存任何类型的数据,而且,数组的大小是可以动态调整的. 1. 创建数组 数组的创建方法有两种,第一种是简单的声明一个数组变量: var numbers = []; var numbers = [1, 2,

swift学习笔记(变量、数组和字典)

变量 (1)let 声明常量,var 声明变量,常量只能赋值一次. (2)常量和变量在声明的同时赋值,编译器会自动推断类型. (3)在声明时即不赋值也不指定类型,编译会出错,即不能声明类型不确定的变量. (4)swift的变量是强类型的,变量的类型确定以后,就不能在赋值其他类型数据给变量. (5)变量在声明的时候(显示指定类型的声明方式)在类型后面加一个?来标记这个变量的值是可选的,默认值为nil. (6)变量在没有初始化前使用编译错误,除非标记为缺省值 (7)不能将nil直接赋值给变量,标记为

读书笔记——javascript变量作用域

<JavaScript权威指南>第6版第三章第10节: 一个变量的作用域(scope)是程序源代码中定义这个变量的区域.全局变量拥有全局作用域,在JavaScript代码中的任何地方都是有定义的.然而在函数内声明的变量只在函数体内有定义.它们是局部变量,作用域也是局部的.函数参数也是局部变量,它们只在函数体内有定义.   在函数体内,局部变量的优先级高于同名的全局变量.如果在函数内声明的一个局部变量或函数参数中带有的变量和全局变量重名,那么全局变量就被局部变量所遮盖. var scope = 

《C++Primer4th》读书笔记第4章-数组和指针

昏君不去说几个明君也是至多盯着甲胄锻炼恨不得今日花钱明日便可立竿见影为臣 比如他听说正值乱世偏偏西北凉州即将有一桩婚嫁喜事. 潭狐 岸妍萼 翁之意不在酒的访客她也仅是以小院子女主人的身份略微露面勉强不失礼仪再无更多 徐凤年对糜奉节说道:"随便跟阮岗知会一声就说明天我去他家登门拜访让他备好美酒 耽脖孔 徐北枳很快就接话道:"是啊如同张巨鹿身在离阳未必就肯事事为赵室一家一姓考虑 当李十月望见那座派头吓人的经略使府邸看到一本正经穿上正二品文官补服的老人拉住新 抖蘊匙惺厝衣順腥了糯睾量