學(xué)著后面问芬,感覺前面快忘完了,找了個簡單免費課程復(fù)習(xí)了下呆万,https://study.163.com/course/courseMain.htm?courseId=1003433004
矩陣筹误、數(shù)據(jù)框寂诱、列表的區(qū)別
當(dāng)缺失值時躯泰,
- 矩陣會自動填充谭羔,并返回報警信息;
- 數(shù)據(jù)框直接報錯
- 列表返回如實填充
1542641329857.jpg
向量里只能有一種元素
向量的位置索引
取名字
2.jpg
dim = c(2,3,5)表示2行麦向,3列瘟裸,5個矩陣
dim()展示矩陣的行列信息,
nrow(), ncol(),head()
運算
colSums(), colMeans(), rowSums(),rowMeans()求解 y= sin(x) 0到2pi與x軸圍成的面積
n <- 1000
x <- seq(0,2*pi, length.out = n)
y <- abs(sin(x))
plot(x,y)
sum(y*2*pi/n)
列表
nchar()
paste(data,data1,sep = ',')
strsplit()
- 索引
my.list[[]] →向量
unlist
作業(yè)
head(iris)
iris$Species
iris[101:150,]
答案
iris[iris$Species == virginica,]
Error in `[.data.frame`(iris, iris$Species == virginica, ) :
object 'virginica' not found
iris[iris$Species == "virginica",]
iris[iris$Sepal.Width > 4,]
or
attach(iris)
iris[Sepal.Width >4,]
iris[iris$Sepal.Width >= 4 & iris$Sepal.Width <= 5,]
字符串操作
paste(), paste0()
strsplit(),打斷之后返回的是列表
圖片.png
x<- chartr('k','h',x)表示用h替換x中的k
- 替換和被替換的要等長度
刪除函數(shù): gsub('af',‘’,x) 刪除x中的‘a(chǎn)f’
自定義函數(shù)
判定用 ==
正則表達(dá)式中诵竭, "."表達(dá)任意值话告,
a <- "www.baidu.com" b <- strsplit(a,'.') b [[1]] [1] ""
要像表達(dá)本身意思,
b <- strsplit(a,'\\.')
or
b<- strsplit(a,".",fixed = T)
創(chuàng)建新變量
清除所有變量 rm(list = ls())
ifelse(mydata$am[1:5] ==0),'automatic','manual')
和以下的等價
for(i in 1:5) {
if(mydata$am[i] ==0){
print('automatic')
} else {
print('manual')
}
}
變量名稱變化
dataage ==99]<-NA
常用函數(shù)
max(),返回最大值
which.max()返回最大值的位置
mean(), quantile()
- round()取整
- ceiling()
- floor()向下取整
- rnorm()生成隨機(jī)數(shù)
- sample(replace=T )replace=T b表示可放回抽樣
- sort()按從小到大的順序排列
- order()返回位置
- scale()
高級函數(shù)
- paste(x,y,sep = '-', collapse = '#')
- merge(table1,table2,by.x=,by.y=,all = F)保留兩個表中都有的卵慰,all = T 沙郭,所有信息都有。裳朋。
- all()
- any()
另外一種數(shù)據(jù)框的操作方法
圖片.png
- apply家族
- apply(iris[,-5],1,mean),1 對行操作棠绘,2對列操作
- sapply(iris[,-5],mean)默認(rèn)按列操作,數(shù)值型向量
- sapply(iris[,1:4],mean)再扭,返回列表
控制流
if(){}
else{}
switch()
coun1<-function(x){
cou<-sum( x%% ==1)
return(cou)
}