-
第六章第七章没学。查看全部
-
当列表中元素长度不同时,使用sapply会导致数据丢失。查看全部
-
代码复杂时可以建立脚本文件
查看全部 -
R中的循环:
> for (i in 1:3){ + cat(i, "+", 1, "=", i+1, "\n") + } 1 + 1 = 2 2 + 1 = 3 3 + 1 = 4
被遍历的序列除了整数向量外,还包括列表、数据帧、矩阵。
控制流:if和if else语句
> for (i in 1:3){ + if(i==2) cat("The index is 2", "\n") else + cat("The index is not 2", "\n") + } The index is not 2 The index is 2 The index is not 2
while循环: while (条件判断) 表达式
repeat循环: repeat表达式
repeat循环需要手动跳出。break跳出循环,next停止当前迭代,直接转向下一次迭代。
查看全部 -
source("C:/.../.../....R")语句可以直接调用脚本文件,以#开头的行为注释行
查看全部 -
?????????
查看全部 -
R对象:1.函数对象
2.数据对象:(1)单值数据:逻辑值(TRUE, FALSE)、数值(实数、复数)、字符;
(2)向量:元素类型必须一致,若不一致,R会元素转换成最为通用的一个类型;
(3)因子:一种特殊的向量,含有有限的级别。可以确定类别变量
(4)矩阵和数组:元素类型必须相同, 例:matrix(c(1,2,3,4,5,6)+pi, nrow=2)
创建高阶数组:> array(c(1:24), dim=(4, 3, 2))
(5)数据帧(data.frame):不受矩阵元素类型必须相同的限制,可以通过直接读取文件中的数据来创建数据帧,也可以通过函数as.dataframe()作用到向量上来创建。数据帧是一个平行的向量集合,其中的向量可以为不同类型。
> data.frame(treatment=c("active", "active", "placebo"), bp=c(80,85,90))
treatment bp
1 active 80
2 active 85
3 placebo 90
> cbind(treatment=c("active", "active", "placebo"), bp=c(80,85,90))
treatment bp
[1,] "active" "80"
[2,] "active" "85"
[3,] "placebo" "90"
(6)列表:元素可以为不同类型、不同长度。R中很多内置函数的返回结果都为列表类型
查看全部 -
内置帮助函数:(1) > ?mean(查询mean函数) (2)>example(mean)(运行mean函数的示例) (3)不知道确切函数时:??"fitting linear model"
查看全部 -
圆周率:pi
修改显示精度:options(digits=22)
无穷:Inf
不是一个数:NaN(not a number)
缺失值:NA(not available)
赋值运算符:<-
ls()函数:列出内存里的所有对象,返回一个向量
rm(x)函数:将对象x从内存中移除
查看全部 -
好查看全部
-
R中的循环 在R中,for循环对一个集合中的每一个元素执行同一个操作 给定一个整数的集合 1]123 令一个变量遍历这个集合,然后输出iti 被遍历的序列不仅仅限于整数向量,比如,我们也可以令一个 变量在列表,数据帧和矩阵中遍历 >d<-data frase(a =1: 2. b-2: 3) 打印出d中列元素的和查看全部
-
表格化数据
查看全部 -
write.table()的变体
查看全部 -
LETTERS函数,26个大写字母。
同样地,有一些相近的函数:
The following constants are available:
LETTERS
: the 26 upper-case letters of the Roman alphabet;(26个大写字母)letters
: the 26 lower-case letters of the Roman alphabet;(26个小写字母)month.abb
: the three-letter abbreviations for the English month names;#three-letter,三字母;abbreviations,缩略词month.name
: the English names for the months of the year;(12个月)pi
: the ratio of the circumference of a circle to its diameter.(圆周率)
mode()#函数可用来指出向量和矩阵中元素的类型。
dim()#dim函数可用来索引矩阵的维度。
length()#可以知晓向量或矩阵中元素的个数(长度函数)
dimnames()#函数可以给矩阵的行和列取值
查看全部 -
索引和逻辑索引
例子:定义一个从-5到5的整数向量,然后抽取出绝对值小于3的元素
x<-(-5):5 x [1] -5 -4 -3 -2 -1 0 1 2 3 4 5
通过向量的索引抽取想要的元素
x[4:8]#抽取第4至第8个元素
通过反向选择抽取(在不想要的索引前加负号)
x[-c(1:3,9:11)]#如前面的笔记,此处的负号代表“舍去”之意
!!!!最重要的是构造逻辑索引向量
index<-abs(x)<3#abs()函数指绝对值函数
index#返回索引的false或者true
x[index]
矩阵也有索引:
A<-matrix((-4):5,nrow=2,ncol=5)#构造矩阵A
A
A[A<0]#索引出矩阵元素中小于0的所有元素
A[A<0]<-0#将所有小于0的元素替换为0
A
A[2,]#选择矩阵的行,第2行的所有列
A[,c(2:4)]#选择矩阵的列,第2至第4列的所有行查看全部 -
构造向量的几种方式
冒号“:”函数,如x<-1:10
sequence函数,如:y<-seq(0,1,length=11)
相同序列重复构成的向量:z<-rep(1:2,5)
数值和向量组合成的新向量:m<-c(x,y,z,10)#c的作用是将括号中的向量元素按顺序组合起来
构造矩阵的方法:
1,把行组合成矩阵
A<-rbind(1:3,c(1,1,2))#把行组合成矩阵,矩阵有多少行取决于有多少个向量元素,有多少列则取决于每行中向量元素最多的一行。
2,把列组合成矩阵
B<-cbind(1:3,c(1,1,2))#把列组合成矩阵,矩阵有多少列取决于有多少个向量元素,有多少行则取决于每列中向量元素最多的一行。
3,通过一个长向量构造矩阵
C<-matrix(c(1,0,0,1,1,0,1,1,1),nrow=3,ncol=3)#nrow矩阵的行数,ncol矩阵的列数(有时甚至可以省略nrow及ncol而直接使用数字3,3)#将byrow=TRUE放入matrix函数的右括号中,可以将c中的向量元素按行构造。(开始为按列构造)
查看全部 -
ls()里有两个对象,rm()表示移除其中一个
查看全部 -
options(digits=22)表示小数位数为22
inf为正无穷;-inf为负无穷
NaN没有意义
NA为缺失值
查看全部 -
lapply()和sapply(0
my.data<-data.frame(data=rnorm(10),data2=rnorm(10),data3=rnorm(10))
lapply(my.data,sum)
my.data<-data.frame(data=rnorm(10),data2=rnorm(10),data3=rnorm(10))
sapply(my.data,sum)两者均是把函数应用到向量,矩阵,数组和列表的函数
前者的输出是一个列表,后者的输出是一个矩阵
查看全部 -
for循环函数
"\n"换行符
cat()循环变元
if语句和if else 语句的区别
查看全部 -
R中的函数:内置函数+自己创建的函数
square<-function(x){return(x*x)}#定义一个新函数“求x的平方”
square(1:10)#求1-10这十个数的平方k<-function(x,a){return(x^a)}#定义有两个参数的幂函数
k(1:5,2)#将a赋值为2当心自己创建函数与内置函数的重叠,以c()函数为例。若遇重叠,使用rm()函数重置。
查看全部 -
数据类型:逻辑值,数值,字符
向量:数值可构成向量,字符可构成向量,向量中的元素类型必须一致
查看全部 -
??"fitting linear model"#使用双引号来寻求一些未知的或不清晰的帮助。
http://tolstoy.newcastle.edu.au/R/
查看全部 -
#Π的写法“pi”
options(digits=22)#该变数字的小数位数为22位
#Inf正无穷;-Inf负无穷
NaN:不是一个数
NA:缺失信息,代表数据不可用,不能求均值及一些其它的运算。
x<-5
x
使用赋值操作符来存储对象,之后便可以将x当作一个数来使用
rm(x)#移除内存中已有的x的赋值
问题:ls()命令的详细解释。
查看全部 -
#Π的写法“pi”
options(digits=22)#该变数字的小数位数为22位
#Inf正无穷;-Inf负无穷
NaN:不是一个数
NA:缺失信息,代表数据不可用,不能求均值及一些其它的运算。
使用赋值操作符来存储对象
查看全部 -
x<-rnorm(100)#创建一个存储对象x,并赋值满足正态分布的100个随机数
head(x)#使用函数从头查看这些随机数
mean(x)#求均值
sd(x)#求标准差
#[1],代表输出为长度为1的R对象
查看全部 -
lapply()和sapply()函数把函数作为输入
lapply()和sapply()函数功能相似,除了lapply()的输出是一个列表;sapply()的输出是一个向量或矩阵
查看全部 -
正态分布的模拟 rnorm()
查看全部
举报