[整理]R-学习笔记-入门

下载及相关准备

windows操作系统

R下载:https://www

.r-project.org/

Rstudio下载:https://www.rstudio.com/products/rstudio/download/

Linux操作系统 CENTOS

R是已经下好了的 Rstudio wget之后是rpm文件 没有root权限不会编译TAT

学习书籍推荐:https://xccds1977.blogspot.sg/2013/02/r.html

参考资料:http://staff.ustc.edu.cn/~zwp/teach/Stat-Comp/R4beg_cn_2.0.pdf

                准备去图书馆借《R in action》...

对象

当R运行时,所有变量、数据、函数及结果都以对象(objects)的形式存在计算机的内存活动中,并冠有相应的名字代号。

对象的内在属性:

    类型 mode() 数值型、字符型、复数型、逻辑型

    长度 length()对象中元素的数目

> x <- 1
> mode(x)
[1] "numeric"
> length(x)
[1] 1
> x <- "helloworld"; y <- TRUE; Z <- i 
Error: object 'i' not found
> x <- "helloworld"; y <- TRUE; Z <- 1i 
> mode(x);mode(y);mode(Z)
[1] "character"
[1] "logical"
[1] "complex"

对象的操作:

赋值/修改: <-

删除:rm()

> rm(Z)
> ls()
[1] "x" "y"
> rm(list=ls())
> ls()
character(0)

Inf:+∞    -Inf:-∞    NaN:非数字

对象的分类:

    向量:外在属性dim和长度的区分、

    因子(数值型或字符型)、数组、矩阵(二维数组)、

    数据框:由一个或几个向量和/或因子构成,必须是登场的,但可以是不同的数据类型、

    时间序列:包含频率、时间等额外属性、

    列表:可以包含任何类型的对象。

文件读写

R可读取的数据:储存在文本文件(ASCII)中的数据

                        其他格式文件(Excel、SAS、SPAA)和访问SQL类型的数据库——高级应用

读取:

read.table()

> mydata <- read.table("C:/data/test_data.txt")
#创建一个数据框mydata
Warning message:
In read.table("C:/data/test_data.txt") :
  incomplete final line found by readTableHeader on 'C:/data/test_data.txt'
> View(mydata)
#数据框中每个变量被命名,缺省值为V1,V2...
> mydata$V1;mydata["V1"];mydata[,1] #单独访问变量
[1] 1 2    #向量
  V1
1  1
2  2       #数据框
[1] 1 2    #向量

默认缺省值:

read.table(file, header = FALSE, sep = "", quote = "\"’", dec = ".",row.names, col.names, as.is = FALSE, na.strings = "NA",colClasses = NA, nrows = -1,skip = 0, check.names = TRUE, fill = !blank.lines.skip,strip.white = FALSE, blank.lines.skip = TRUE,comment.char = "#")

file

文件名(包含在“”内,或使用一个字符型变量)或者一个URL链接(http://...)(用URL对文件远程访问)
header 反映这个文件的第一行是否包含变量名
sep 字段分离符
quote 指定用于存储字符型数据的字符
dec

用来表示小数点的字符

row.names 保存着行名的向量,或文件中一个变量的序号或名字,缺省时行号取为1, 2, 3, . . .

col.names

指定列名的字符型向量(缺省值是:V1, V2, V3, . . . )
as.is

控制是否将字符型变量转化为因子型变量(如果值为FALSE),或者仍将其保留为字符型(TRUE)

as.is可以是逻辑型,数值型或者字符型向量,用来判断变量是否被保留为字符

na.strings 代表缺失数据的值(转化为NA)
colClasses 指定各列的数据类型的一个字符型向量
nrows 可以读取的最大行数(忽略负值)
skip 在读取数据前跳过的行数
check.names 如果为TRUE,则检查变量名是否在R中有效
fill 如果为TRUE且非所有的行中变量数目相同,则用空白填补
strip.white 在sep已指定的情况下,如果为TRUE,则删除字符型变量前后多余的空格
blank.lines.skip 如果为TRUE,忽略空白行
comment.char 一个字符用来在数据文件中写注释,以这个字符开头的行将被忽略(要禁用这个参数,可使用comment.char = "")

scan()

可用于创建不同的对象,向量,矩阵...

> mydata <- scan("data.dat", what = list("", 0, 0))    #读取了文件data.dat中三个变量,第一个是字符型变量,后两个是数值型变量

scan(file = "", what = double(0), nmax = -1, n = -1, sep = "",quote = if (sep=="\n") "" else "’\"", dec = ".",skip = 0, nlines = 0, na.strings = "NA",flush = FALSE, fill = FALSE, strip.white = FALSE, quiet = FALSE,blank.lines.skip = TRUE, multi.line = TRUE, comment.char = "")

what 指定数据的类型(缺省值为数值型)
nmax

要读取数据的最大数量,如果what是一个列表,nmax则是可以读取的行数

(在缺省情况下,scan读取到文件最末端为止的所有数据)

n 要读取数据的最大数量(在缺省情况下,没有限制)

read.fwf():来读取文件中一些固定宽度格式的数据

> mydata <- read.fwf("C:/data/test_data.txt",widths=c(1,5,3,2)

原始数据:                 处理后:

      

存储:

write.table()

> d <- data.frame(obs=c(1,2,3),treat=c("A","B","C"),weight=c(2.3,NA,9))
> write.table(d,file="C:/data/test_data.txt")
> View(d)
> write.table(d,file="C:/data/test_data.txt",row.names=F,quote=F,sep="\t")

存储数据:                              列表显示:

qppend 如果为TRUE则在写入数据时不删除目标文件中可能已存在的数据,采取往后添加的方式
quote

一个逻辑型或者数值型向量:如果为TRUE,则字符型变量和因子写在双引号""中;

若quote是数值型向量则代表将欲写在""中的那些列的列标。

(两种情况下变量名都会被写在""中;若quote = FALSE则变量名不包含在双引号中)

row.names 一个逻辑值,决定行名是否写入文件;或指定要作为行名写入文件的字符型向量
col.names 一个逻辑值(决定列名是否写入文件);或指定一个要作为列名写入文件中的字符型向量

save():保存为R专有的文件格式

> save(d,file="C:/data/test_data.Rdata")
> setwd("C:/data")    #定义路径
> load("test_data.Rdata")    #加载到内存中

猜你喜欢

转载自blog.csdn.net/Cccrush/article/details/80036341