R 範例
data(anscombe)
View(anscombe)
plot(y1 ~ x1, data = anscombe)
lmfit<- lm(y1 ~ x1, data = anscombe)
lmfit
plot(y1 ~ x1, data = anscombe)
abline(lmfit, col='red')
R基礎
3 + 8
3 - 8
5 * 5
11 / 2
2 ^ 10
11 %% 2
a <- 3
b = 5
c <- a + b
numer <- 17.8
char <- "hello world"
logic <- TRUE
class(numer)
class(char)
class(logic)
card_length <- 3
card_width <- "5 inches"
#card_length * card_width
card_width <- 5
card_length * card_width
1 - (40 / 100)
R向量
height_vec <- c(180,169,173)
height_vec
name_vec <- c('Brian', 'Toby', 'Sherry')
a <- 1
a <- c(1)
x <- c(1,2,3,4)
y <- c(2,3,4,5)
x + y
x - y
x * y
x / y
x <- c(1,2,3,4)
y <- c(3,5)
x + y
x <- 1:20
x
y <- seq(1,20)
y
?seq
help(seq)
seq(1,20,2)
seq(1,3.5, by = 0.5)
seq(1,10,length.out = 2)
seq(1,10,lengt = 2)
x <- c(1,2,3,5,7)
sum(x)
?sum
NaN
x <- c(1,2,3,5,7,NaN)
sum(x)
sum(x, na.rm=TRUE)
height_vec <- c(180,169,173)
name_vec <- c("Brian", "Toby", "Sherry")
names(height_vec)
names(height_vec) <- name_vec
height_vec
names(height_vec)
height_vec > 175
height_vec < 175
height_vec >= 175
height_vec <= 175
height_vec == 180
height_vec != 180
height_vec >=170 & height_vec < 180
height_vec < 170 | height_vec >= 180
(! ( height_vec >=170 & height_vec < 180 ))
height_vec > 175
height_vec[height_vec > 175]
height_vec <- c(180,169,173)
weight_vec <- c(73, 87, 43)
name_vec <- c('Brian','Toby', 'Sherry')
bmi_vec <- weight_vec / (height_vec / 100) ^2
names(bmi_vec) <- name_vec
bmi_vec
bmi_vec[bmi_vec <= 18.5 | bmi_vec >= 24]
names(bmi_vec[bmi_vec <= 18.5 | bmi_vec >= 24])
bmi_cal <- function(bmi){
if(bmi < 18.5){
return('體重過輕')
}else if (bmi >= 18.5 & bmi < 24){
return('正常')
}else{
return('體重過重')
}
}
bmi_cal(36)
?apply
lapply(bmi_vec, bmi_cal)
sapply(bmi_vec, bmi_cal)
R矩陣
kevin <- c(85,73)
marry <- c(72,64)
jerry <- c(59,66)
c(kevin, marry, jerry)
mat <- matrix(c(kevin, marry,jerry), nrow = 3, byrow=TRUE)
mat
matrix(1:9, nrow = 3)
matrix(1:9, nrow = 3, byrow = TRUE)
mat
colnames(mat) <- c('first', 'second')
mat
rownames(mat) <- c('kevin', 'marry', 'jerry')
mat
mat <- matrix(c(kevin, marry, jerry), nrow=3, byrow=TRUE,
dimnames=list(c('kevin', 'marry', 'jerry'),c('first', 'second')))
mat
dim(mat)
nrow(mat)
ncol(mat)
kevin
kevin[1]
kevin[2]
mat
mat[1,]
mat[,1]
1:9
mat[2:3,]
mat[c(2,3), ]
mat[2,1]
mat2 <- rbind(mat, c(78,63))
mat2
rownames(mat2)[4] <- 'Sam'
mat2
mat3 <- cbind(mat,c(82,77,70))
mat3
colnames(mat3)[3] <- 'third'
mat3
m1 <- matrix(1:4, byrow=TRUE, nrow=2)
m2 <- matrix(5:8, byrow=TRUE, nrow=2)
m1 + m2
m1 - m2
m1 * m2
m1 / m2
mat
rowSums(mat)
colSums(mat)
m1 <- matrix(1:9, nrow = 9)
dim(m1)
m2 <- matrix(1:9, ncol = 9)
dim(m2)
m1 %*% m2
LS0tCnRpdGxlOiAiRGVtbzIwMjAwNjI0IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCiMjIFIg56+E5L6LCmBgYHtyfQpkYXRhKGFuc2NvbWJlKQpWaWV3KGFuc2NvbWJlKQpwbG90KHkxIH4geDEsIGRhdGEgPSBhbnNjb21iZSkKbG1maXQ8LSBsbSh5MSB+IHgxLCBkYXRhID0gYW5zY29tYmUpCmxtZml0CnBsb3QoeTEgfiB4MSwgZGF0YSA9IGFuc2NvbWJlKQphYmxpbmUobG1maXQsIGNvbD0ncmVkJykKYGBgCgojIyDvvLLln7rnpI4KYGBge3J9CjMgKyA4IAozIC0gOAo1ICogNQoxMSAvIDIKMiBeIDEwCjExICUlIDIKCmEgPC0gMwpiID0gNQpjIDwtIGEgKyBiCgpudW1lciA8LSAgMTcuOApjaGFyIDwtICJoZWxsbyB3b3JsZCIKbG9naWMgPC0gVFJVRQoKY2xhc3MobnVtZXIpCmNsYXNzKGNoYXIpCmNsYXNzKGxvZ2ljKQoKY2FyZF9sZW5ndGggPC0gMwpjYXJkX3dpZHRoIDwtICI1IGluY2hlcyIKCiNjYXJkX2xlbmd0aCAqIGNhcmRfd2lkdGgKCgpjYXJkX3dpZHRoIDwtIDUKY2FyZF9sZW5ndGggKiBjYXJkX3dpZHRoCgoxIC0gKDQwIC8gMTAwKQpgYGAKCiMjIFLlkJHph48KYGBge3J9CmhlaWdodF92ZWMgIDwtIGMoMTgwLDE2OSwxNzMpCmhlaWdodF92ZWMKbmFtZV92ZWMgPC0gYygnQnJpYW4nLCAnVG9ieScsICdTaGVycnknKQoKYSA8LSAxCmEgPC0gYygxKQoKeCA8LSBjKDEsMiwzLDQpCnkgPC0gYygyLDMsNCw1KQoKeCArIHkKeCAtIHkgCnggKiB5CnggLyB5Cgp4IDwtIGMoMSwyLDMsNCkKeSA8LSBjKDMsNSkKeCArIHkKCnggPC0gMToyMAp4Cgp5IDwtIHNlcSgxLDIwKQp5Cgo/c2VxCmhlbHAoc2VxKQpzZXEoMSwyMCwyKQpzZXEoMSwzLjUsIGJ5ID0gMC41KQpzZXEoMSwxMCxsZW5ndGgub3V0ID0gMikKc2VxKDEsMTAsbGVuZ3QgPSAyKQoKCnggPC0gYygxLDIsMyw1LDcpIApzdW0oeCkKP3N1bQoKTmFOCnggPC0gYygxLDIsMyw1LDcsTmFOKSAKc3VtKHgpCnN1bSh4LCBuYS5ybT1UUlVFKQoKaGVpZ2h0X3ZlYyA8LSBjKDE4MCwxNjksMTczKQpuYW1lX3ZlYyA8LSBjKCJCcmlhbiIsICJUb2J5IiwgIlNoZXJyeSIpCgpuYW1lcyhoZWlnaHRfdmVjKQpuYW1lcyhoZWlnaHRfdmVjKSA8LSBuYW1lX3ZlYwpoZWlnaHRfdmVjCm5hbWVzKGhlaWdodF92ZWMpCgpoZWlnaHRfdmVjID4gMTc1CmhlaWdodF92ZWMgPCAxNzUKaGVpZ2h0X3ZlYyA+PSAxNzUKaGVpZ2h0X3ZlYyA8PSAxNzUKaGVpZ2h0X3ZlYyA9PSAxODAKaGVpZ2h0X3ZlYyAhPSAxODAKCmhlaWdodF92ZWMgPj0xNzAgICYgIGhlaWdodF92ZWMgPCAxODAKaGVpZ2h0X3ZlYyA8IDE3MCAgfCAgaGVpZ2h0X3ZlYyA+PSAxODAKKCEgKCBoZWlnaHRfdmVjID49MTcwICAmICBoZWlnaHRfdmVjIDwgMTgwICkpCgpoZWlnaHRfdmVjID4gMTc1CmhlaWdodF92ZWNbaGVpZ2h0X3ZlYyA+IDE3NV0KCmhlaWdodF92ZWMgPC0gYygxODAsMTY5LDE3MykKd2VpZ2h0X3ZlYyA8LSBjKDczLCA4NywgNDMpCm5hbWVfdmVjIDwtIGMoJ0JyaWFuJywnVG9ieScsICdTaGVycnknKQpibWlfdmVjIDwtIHdlaWdodF92ZWMgLyAoaGVpZ2h0X3ZlYyAvIDEwMCkgXjIgCm5hbWVzKGJtaV92ZWMpIDwtIG5hbWVfdmVjCmJtaV92ZWMKCmJtaV92ZWNbYm1pX3ZlYyA8PSAxOC41IHwgYm1pX3ZlYyA+PSAyNF0KCm5hbWVzKGJtaV92ZWNbYm1pX3ZlYyA8PSAxOC41IHwgYm1pX3ZlYyA+PSAyNF0pCgpibWlfY2FsIDwtIGZ1bmN0aW9uKGJtaSl7CiAgaWYoYm1pIDwgMTguNSl7CiAgICByZXR1cm4oJ+mrlOmHjemBjui8lScpCiAgfWVsc2UgaWYgKGJtaSA+PSAxOC41ICYgYm1pIDwgMjQpewogICAgcmV0dXJuKCfmraPluLgnKQogIH1lbHNlewogICAgcmV0dXJuKCfpq5Tph43pgY7ph40nKQogIH0KfQpibWlfY2FsKDM2KQoKCj9hcHBseQpsYXBwbHkoYm1pX3ZlYywgYm1pX2NhbCkKc2FwcGx5KGJtaV92ZWMsIGJtaV9jYWwpCgpgYGAKCiMjIO+8suefqemZowpgYGB7cn0Ka2V2aW4gICA8LSBjKDg1LDczKQptYXJyeSAgIDwtIGMoNzIsNjQpCmplcnJ5ICAgPC0gYyg1OSw2NikKCmMoa2V2aW4sIG1hcnJ5LCBqZXJyeSkKbWF0IDwtIG1hdHJpeChjKGtldmluLCBtYXJyeSxqZXJyeSksIG5yb3cgPSAzLCBieXJvdz1UUlVFKQptYXQKCm1hdHJpeCgxOjksIG5yb3cgPSAzKQptYXRyaXgoMTo5LCBucm93ID0gMywgYnlyb3cgPSBUUlVFKQoKbWF0CmNvbG5hbWVzKG1hdCkgPC0gYygnZmlyc3QnLCAnc2Vjb25kJykKbWF0Cgpyb3duYW1lcyhtYXQpIDwtIGMoJ2tldmluJywgJ21hcnJ5JywgJ2plcnJ5JykKbWF0Cm1hdCA8LSBtYXRyaXgoYyhrZXZpbiwgbWFycnksIGplcnJ5KSwgbnJvdz0zLCBieXJvdz1UUlVFLCAKZGltbmFtZXM9bGlzdChjKCdrZXZpbicsICdtYXJyeScsICdqZXJyeScpLGMoJ2ZpcnN0JywgJ3NlY29uZCcpKSkKbWF0CgpkaW0obWF0KQpucm93KG1hdCkKbmNvbChtYXQpCgprZXZpbgprZXZpblsxXQprZXZpblsyXQoKbWF0Cm1hdFsxLF0KbWF0WywxXQoxOjkKbWF0WzI6MyxdCm1hdFtjKDIsMyksIF0KbWF0WzIsMV0KbWF0MiA8LSByYmluZChtYXQsIGMoNzgsNjMpKQptYXQyCnJvd25hbWVzKG1hdDIpWzRdIDwtICdTYW0nCm1hdDIKbWF0MyA8LSBjYmluZChtYXQsYyg4Miw3Nyw3MCkpCm1hdDMKY29sbmFtZXMobWF0MylbM10gPC0gJ3RoaXJkJwptYXQzCgptMSA8LSBtYXRyaXgoMTo0LCBieXJvdz1UUlVFLCBucm93PTIpCm0yIDwtIG1hdHJpeCg1OjgsIGJ5cm93PVRSVUUsIG5yb3c9MikKbTEgKyBtMgptMSAtIG0yCm0xICogbTIKbTEgLyBtMgoKbWF0CnJvd1N1bXMobWF0KQpjb2xTdW1zKG1hdCkKCm0xIDwtIG1hdHJpeCgxOjksIG5yb3cgPSA5KQpkaW0obTEpCm0yIDwtIG1hdHJpeCgxOjksIG5jb2wgPSA5KQpkaW0obTIpCm0xICUqJSBtMgpgYGAK