数据类型
1.数值型2.字符型3.逻辑型4.复数型5.特殊值
1.数值型
就是数字。
> x<-7
> class(x)
[1] "numeric"
2.字符型
使用单引号或者双引号括起来的就是字符
> x<-"7"
> class(x)
[1] "character"
3.逻辑型
> x<-T#真(T,TRUE)假(F,FALSE)
> class(x)
[1] "logical"
> x<-True
Error: object 'True' not found
4.复数型
> x<- 7+7i
> class(x)
[1] "complex"
5.特殊值
指Inf,NA,NaN
Inf:infinite无穷大的意思,还有-Inf
NA:not available,表示缺失值或者NULL
NaN:计算产生的没意义的结果,not a number
数据结构
1.向量2.矩阵3.数组4.因子5.数据框6.列表
VECTOR
创建vector
days_vector <- c("Monday", "Tuesday", "Wednesday", "Thursday", "Friday")
days_win_vector<-c(1,2,3,4,5)
days_win2_vector<-c(1:5)
days_win3_vector<-1:5
命名
names(days_win_vector)<-days_vector
查看属性
str(days_win_vector)
选取子集
###by number &反选
days_win_vector[1]
days_win_vector[c(1,2)]
days_win_vector[-1]
days_win_vector[-c(1,2)]
###by names
days_win_vector["Monday"]
days_win_vector[c("Monday","Tuesday")]
###by 条件
####布尔值
days_win_vector>3
days_vector!="Monday"
days_win_vector[days_win_vector>3]
subset(days_win_vector,days_win_vector>3)
days_vector[days_vector!="Monday"]
subset(days_vector,days_vector!="Monday")
days_win_vector[days_win_vector>3&days_win_vector<5]
其它操作
###获取向量长度
length(days_win_vector)
###获取均值,最大,最小,和,标准差
mean(days_win_vector)
max(days_win_vector)
min(days_win_vector)
sum(days_win_vector)
sd(days_win_vector)
###
x<-c(1,2,4,3,7,5,4)
sort(x,decreasing = T)
sort(x, decreasing = FALSE)
向量中的强制转换原则
logical> x<-c(T,T,F,T)
> str(x)
logi [1:4] TRUE TRUE FALSE TRUE
> x[2]<-2
> x
[1] 1 2 0 1
> str(x)
num [1:4] 1 2 0 1
> x[1]<-"1"
> str(x)
chr [1:4] "1" "2" "0" "1"
MATRIX
创建
x<-matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE,
dimnames = NULL)
data<-1:15
cn<-c("a","b","c","d","e")
rn<-c("c1","c2","c3")
mymatrix<-matrix(data = data,nrow = 3,ncol = 5,dimnames = list(rn,cn))
查看属性
str(mymatrix)
选取子集
mymatrix[1,]
mymatrix[,1]
mymatrix[1,c(2,3)]
mymatrix[-1,]
数据框
创建
mydata<-data.frame(col1, col2, col3,...)
x<-c(1, 2, 3)
y<-c("large", "median", "small")
z<-c(NaN, Inf, 5)
mydata<-data.frame(x, y, z)
查看属性
str(mydata)
is.data.frame(mydata)
names(mydata)
选取子集
mydata[1,2]
mydata[1,]
mydata[,2]
mydata$x
总想加点什么
md=mydata
md[,4]<-c(4:6)
mydata$u<-1
mydata$v<-c(4,5,6)
w<-c(9,0,0)
mydata$w<-w
要删的话
mydata$w<-NULL
其他。提取子集方法,重新赋值。
重命名列名
names(mydata)<-c("x","y" ,"h" ,"u", "p")
names(mydata)[names(mydata) == "y"] = c("fff")
names(mydata)[4] = c("a")
任务:
#1.自己创建两个数据框(矩阵,向量),按列按行两种合并。观察并写下笔记
#2.记录整理is.datatype,as.datatype类型函数,写笔记。
#3.查看rnrom()函数,并使用它做一下基础的散点图,直方图,密度图。笔记。
#4.以上都不需要library()其他包。
#5.下次会说明factor,并讲述基础图的做法,以及package的安装方法,如果想看看的话,可以看看这个http://blog.csdn.net/BOOMBOY/article/details/77477181
#快捷键:1.清屏:Ctrl+L 2.执行脚本:Ctrl+R 3.删除当前位置到行尾:Ctrl+K
#4.删除当前行所有: Ctrl+U 5.复制黏贴正常使用
#6.和linux 相同的 Tab可以补全,上下键调用历史
#有用命令:history() ls() rm(list=ls()) help() setwd() getwd() help.start()