R初级整理笔记--1.2版

本文是一份详细的R语言学习笔记,涵盖了从基本语法、错误处理、数据输入输出到数据管理、图形绘制等多个方面。讲解了R语言中的向量、矩阵、数据框、因子等数据结构,以及数据输入和输出的各种方法,包括从文本文件、Excel、XML、网页等来源导入数据。此外,还介绍了数据的标注、图形参数设置,以及数据管理中的变量创建、重编码和排序等操作。
摘要由CSDN通过智能技术生成

本文通过阅读《R语言实战》的读书笔记,或者参杂,中途查找一些资料的补充,仅供阅读学习。。。

R语言编程中的常见错误

1.严格大小写
2.必要的引号 install.packages(“gclus”)
3.函数调用时使用括号
4.变量的引用是$不是. 例如:A$x是指数据框A中的变量x。
5.#:注释
多行注释:if(FALSE){
填写注释内容
}
4.自动扩展功能,原本三个元素的,如果输入第十个元素,会自动扩展
在这里插入图片描述
5.R下标从1开始
6.变量无法声明,他们在被首次赋值时生成

标准统计软件类似SAS,SPSS,Stata
标量是只含一个元素的向量,用于保存常量
F<-3
方括号给定位置,可以用于访问任意位置的元素a[3],a[,3],使用下标和方括号来选择矩阵中的行、列或元素。X[i,]指矩阵X中的第i行,X[,j]指第j列,X[i,j]指第i行第j个元素。选择多行或多列时,下标i和j可为数值型向量
a <- c(2:6)生成数值序列
C( )

获取帮助命令1.32

工作空间命令

输入和输出

1.输入

source(“filename.R”) 将执行filename脚本,R为扩展名

2.输出

2.1文本输出

R语言的输出函数cat,sink,writeLines,write.table
2.1.1cat
cat(… , file = “”, sep = " ", fill = FALSE, labels = NULL,append = FALSE)
2.1.2 sink
sink(file = NULL, append = FALSE, type = c(“output”, “message”),split = FALSE)
2.1.3 writeLines
writeLines(text, con = stdout(), sep = “\n”, useBytes = FALSE)
2.1.4 write.table()
write.table(x, file = “”, append = FALSE, quote = TRUE, sep = " ",eol = “\n”, na = “NA”, dec = “.”, row.names = TRUE,col.names = TRUE, qmethod = c(“escape”, “double”),fileEncoding = “”)
2.1.5 write.csv
write.csv(act_4,‘act_4.csv’,row.names = F)
row.names = T系统都会自动生成一个数值顺序编号的标题列(第一列)当为false时即不生成此标题列

2.2图形输出

在这里插入图片描述

批处理

Linux或MacOSX系统下:

R CMD BATCH options infile outfile

infile是包含了要执行的R代码所在文件的文件名,outfile是接收输出文件的文件名,options部分则列出了控制执行细节的选项,infile的扩展名是.R,outfile的扩展名为.Rout。

Windows下:

R特色功能

1.结果的重用1.6
2.处理大数据集1.7

search()列举哪些包已加载
包的安装和更新
包的载入
包的使用方法
help(package=“package_name”)

数据集

在这里插入图片描述

数据结构

向量

1.存储一维数组,借用C()
可以存储数值型,字符型,逻辑型一维数组
data <-c(2,3,5)
2.通过方括号可以访问元素所在的位置
data[c(1.3)]用于访问向量data中的第1个和第3个元素
3.使用的冒号用于生成一个数值序列。例如,a<-c(2:6)等价于a<-c(2,3,4,5,6)。

标量

只含有一个元素的向量
f <-3

矩阵

vector包含了矩阵的元素,nrow和ncol用以指定行和列的维数,dimnames包含了可选的、以字符型向量表示的行名和列名。选项byrow则表明矩阵应当按行填充(byrow=TRUE)还是按列填充(byrow=FALSE),默认情况下按列填充

myymatrix <-matrix(vector,nrow,ncol,byrow,dimnames=list(char_vector_rowname,char_vector_colnames))```

数组

myarray <-array(vector,dimensions,dimnames)

其中vector包含了数组中的数据,dimensions是一个数值型向量,给出了各个维度下标的最大值,而dimnames是可选的、各维度名称标签的列表。

创建一个数组
> dim1 <-c("A1","A2")
> dim1 <-c("A1","A2")
> dim1 <-c("A1","A2")
> dim2 <-c("B1","B2","B3")
> dim3 <-c("c1","c2","c3","c4")
> z <-array(1:24,c(2,3,4),dimnames=list(dim1,dim2,dim3))
> z
, , c1

   B1 B2 B3
A1  1  3  5
A2  2  4  6

, , c2

   B1 B2 B3
A1  7  9 11
A2  8 10 12

, , c3

   B1 B2 B3
A1 13 15 17
A2 14 16 18

, , c4

   B1 B2 B3
A1 19 21 23
A2 20 22 24

数据框

每一列数据的模式必须唯一

创建一个简单的数据框
> user_id <-c(11,22,33)
> age<-c(52,66,45)
> user_type <-c("apple","banana","pear")
> produce <-data.frame(user_id,age,user_type)
> produce
  user_id age user_type
1      11  52     apple
2      22  66    banana
3      33  45      pear
> 

选取数据框中的元素
1.选取前几列

> produce [1:2]
  user_id age
1      11  52
2      22  66
3      33  45

2.指定列名选取

> produce[c("user_id","age")]
  user_id age
1      11  52
2      22  66
3      33  45

3.选取特定变量$

> produce$age
[1] 52 66 45

可以用此功能实现生成相对应的列联表

> table(produce$user_id,produce$age)
    
     45 52 66
  11  0  1  0
  22  0  0  1
  33  1  0  0

但是每个变量前面都要加上数据框名字太繁琐,有以下简化方法
上函数!
attach( )
可以将数据框直接加到数据搜索路径中,当遇到变量时会直接搜索数据框
detach ( )
将数据搜索路径中数据框移除

> attach(produce)
The following objects are masked _by_ .GlobalEnv: age, user_id, user_type
> summary(age)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  45.00   48.50   52.00   54.33   59.00   66.00 
> plot(user_id,age)
> detach(produce)

代码在执行时提示:
The following objects are masked by .GlobalEnv: age, user_id, user_type
多个对象同名,原始对象有优先权,所以任何情况下,都要当心那些告知某个对象已被屏蔽(masked)的警告。

with ( )
上述两个有点烦,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值