R语言学习笔记1

R语言学习笔记1【第一章】1、访问帮助文档可用?help如:?boxplot或help(boxplot)2、添加注释#3、载入包library([要载入的包名])如:library(MASS)4、下载包install.packages(“Hmisc”)或用RStudio中右下角package中的install5、设置工作目录setw_r语言location

R语言学习笔记1

【第一章 】
1、访问帮助文档
可用 ? help
如:?boxplot 或 help(boxplot)
2、添加注释
#
3、载入包
library([要载入的包名])
如:library(MASS)
4、下载包
install.packages(“Hmisc”)
或用RStudio中右下角package中的install
5、设置工作目录
setwd()
如setwd(“C:/AnyDirectory”)
6、查看R中工作区间变量
objects()
删除之
rm()
7、关闭R
q()
8、引用R和R程序包
citation()
9、数据管理
vector:向量
numeric:数值型向量
logical:逻辑型向量
character;字符型向量
list:列表
data.frame:数据框
c:连接为向量或列表

10、数据的存储与读取
存储:
1)保存为文本文件:
设数据框d<-data.frame(x=c(1,2,3),y=c(‘A’,’B’,’C’))

write.table(d,file=”c:/data/foo.txt”,rowsname=F,quote=F)

row.names = F表示行名不写入文件,quote = F表示变量名不放入双引号中
2)保存为逗号分割:

write.csv(d,file=”c:/data/foo.csv”,rowsname=F,quote=F)

3)保存为R格式文件

save(d,file=”c:/data/foo.Rdata”)
保存工作映象:
save.image()

读取:
1)read.table()
2)scan() 可指定变量的类型,还可用于创建不同的对象
如:

mydata <-scan(“data.dat”,what=list(“”,0,0)) (“”,0,0对应字符,数值,数值)

3)read.fwf()
除了选项widths用来说明读取字段外,与read.table()没什么差别

mydata<- read.fwf(“data.txt”,widths=c(1,4,3),col.names=c(“x”,”y”,”z”))

【第二章 R中的数据对象】
对象:包括向量(vector)、矩阵(matrix)、因子(factor)、列表(list)、数据框(data frame)、函数(function)
对象模式:包括 numeri,ccomplex,
character,logical,list,function,expression等,可通过mode(object)查看

length(object)查看对象长度

attribute(object)查看更深入的属性

模式的转换:可通过形为as.something()的函数,如:as.character(x),as.integer(a)

summary可查看对象的基本信息(min、max、mean等)

1 向量(数字、缺失值(即NA)、字符、逻辑向量)
(1).赋值 如 : a<-59 (‘<-’为赋值运算符,也 可用 ‘=’,同时与assign()函数等价,例:assign(‘a’,c(1:3))) 同时也可 c(1:3)->a
(注意:如果只输重点内容入一个表达式会被当做命令打印,而不储存,如输入1/x将只做打印)
(2)运算
常用有:+,-,*,/,^(次方),log,exp,sin,cos,tan,sqrt等
还有一些常见的统计函数:
max:选出向量中最大的元素
min : 选出向量中最小的元素
range: 其值为一个长度为2的向量,即c(min(x),max(x))
length(x):返回x中元素的个数,即向量的长度
sum(x):给出了x中元素的总和,若a中一个值为空,则返回NA(返回NA的解决方法法:sum(a,na.rm=TRUE))
prod(x):给出了x中元素的乘积
mean(x):给出了样本的平均值
var(x): 给出了样本的方差
sort(x):返回一个与x具有相同长度的向量,其中的元素按照升序排列(还有order(),sort.list()函数)
pmax(pmin):返回一个与最长的向量长度相同的向量,向量中的参数由所有向量在相应位置的最大值(最小值)组成。
(3)序列
rep函数表重复
(each,times)
如:> id<-rep(c(1,2,3,4),each = 8)或 > id<-rep(c(1:4),each=8) > [1] 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4
seq函数表连续
五个参数:from,to(可不写参名),
by 那个(指定步长,默认为1)
length(指定序列长度)
along
如:

id <-seq(from = 1, to=4,by=1)
>id
[1] 1 2 3 4
rep(id,each=8)
[1] 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4

【补充】
缺失值:
返回一个与x等长的逻辑向量,并且由相应位置的元素是否是NA来决定这个逻辑向量的相应位置的元素的值是TRUE还是FALSE
NAN(Not a Number):由数值运算产生,如0/0,inf-inf
(is.na(x)对NA和NAN都返回TRUE,is.nan(x)只对NaN的值返回TRUE)
x[is.na(x)]<-0 将向量中的NA元素用0代替
负整数向量 (除…外)
<y<-x[-(1:4)] 表示向量y取向量x前4个元素外的元素

向一个向量追加元素:
append()函数

x
[1] 1 2 3 4 5 6 7 8 9 10 11 12
x=append(x,0,after=1)
x
[1] 1 0 2 3 4 5 6 7 8 9 10

2、因子
因子是一种向量对象,给自己的组件指定了一个离散的分类(分组),它的组件由其它等长的向量组成,R提供了有序因子和无序因子。
(即将对象的值分成不同的组(levels))
(1)用函数factor创建
如:

x<-factor(rep(c(‘red’,’green’,’yellow’),times=3))
x
[1] red green yellow red green yellow red green yellow
Levels: green red yellow

(2)
levels()函数可用来观察因子有多少不同的levels
tappley()函数可对它的第一个参数的组件中所包含的每个组应用一个参数指定的函数,如下可用来计算平均分。
ordered()函数可用来创建有序因子
如下:

student<- c(‘张量’,’徐丽’,’张量’,’徐丽’,’宋海’,’宋海’,’张量’,’徐丽’,’宋海’,’杜远’)
fc<-factor(student)
fc
[1] 张量 徐丽 张量 徐丽 宋海 宋海 张量 徐丽 宋海 杜远
Levels: 杜远 宋海 徐丽 张量
x<-c(95,86,84,90,92,84,79,86,99,85)
smeans<-tapply(x,student,mean)
smeans
杜远 宋海 徐丽 张量
85.00000 91.66667 87.33333 86.00000
ordered(student)
[1] 张量 徐丽 张量 徐丽 宋海 宋海 张量 徐丽 宋海 杜远
Levels: 杜远 < 宋海 < 徐丽 < 张量

3.数组和矩阵
数组可看做是一个有递增下标表示的数据项的集合。
(1)数组的生成
可通过c函数,或array函数。 在一个变量中存储多个值 如:

a <- c(59,55,53,67.5,55)
a <-array(1:20)

(2)数组的索引和数组的子块
查看变量a中所有值 :输入a。
查看a中第二个值:输入a[2]。
查看a中前五个值:输入a[1:5]。
查看a中除了第二个值以外的其他值:输入a[-2])

(3)索引数组 (拷贝)
使用索引数组来指定数组的某些元素。
例如:有4X5的数组a,若要得到a中的a[1,3], a[2,2] 和a[3,1]这三个元素,可以生成索引向量i,然后用a[i]得到它们。

a <- array(1:20,dim=c(4,5)) # Generate a 4 by 5 array.
i <- array(c(1:3,3:1),dim=c(3,2))
i
[,1] [,2]
[1,] 1 3
[2,] 2 2
[3,] 3 1
a[i]
[1] 9 6 3

(4)vector 函数结合数据
vector函数作用与c函数类似,可用来代替c函数。优点:可事先定义长度。
例:> W<-vector(length=4)

W[1]<-59
W[

今天的文章R语言学习笔记1分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/57873.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注