x <- 3
x #print
## [1] 3
y <- 4
y + 5
## [1] 9
z <- x + 17*y
z
## [1] 71
rm(z) #delete z
# z #Result:Error: object 'z' not found
2 == 2
## [1] TRUE
2 != 2
## [1] FALSE
x <= y
## [1] TRUE
5 + NA #result:NA
## [1] NA
is.na(5 + NA) #檢查是否是NA
## [1] TRUE
10 + NULL #result:空的object,長度為0
## numeric(0)
is.null(NULL) #檢查是不是NULL
## [1] TRUE
5/0
## [1] Inf
is.finite(5/0) #檢查是不是正無限大
## [1] FALSE
0/0
## [1] NaN
is.nan(0/0)
## [1] TRUE
利用c()建立Vector
v1 <- c(1, 5, 11, 33)
v2 <- c("hello", "world")
v3 <- c(TRUE, TRUE, FALSE)
將不同類型的元素放在同一個vector中,會將vector中其他元素轉換定為限制最小的類型
v4 <- c(v1, v2, v3, "boo")
v4
## [1] "1" "5" "11" "33" "hello" "world" "TRUE" "TRUE" "FALSE"
## [10] "boo"
v <- 1:7 #c(1,2,3,4,5,6,7)
v <- rep(0,3) #c(0,0,0)重複0,3次
v <- rep(1:3, times = 2) #c(1,2,3,1,2,3)重複1,2,3,2次
v <- rep(1:3, each = 2) #c(1,1,2,2,3,3)重複每個元素2次
v <- seq(10, 20, 2) #c(10,12,14,16,18,20)10~20間以2為單位增加
v1 <- 1:5 #c(1,2,3,4,5)
v2 <- rep(1,5) #c(1,1,1,1,1)
長度
length(v1)
## [1] 5
length(v2)
## [1] 5
運算
v1 + v2 #c(1,2,3,4,5)+c(1,1,1,1,1)
## [1] 2 3 4 5 6
v1 + 1 # c(1+1,2+1,3+1,4+1,5+1)
## [1] 2 3 4 5 6
v1 *2 #c(1*2,2*2,3*2,4*2,5*2)
## [1] 2 4 6 8 10
# v1 + c(1,7)# This doesn't work: 因為兩個長度不同
數學運算
sum(v1) #總和
## [1] 15
mean(v1) #平均
## [1] 3
sd(v1) #標準差
## [1] 1.581139
cor(v1, v1*5) #v1和v1 * 5之間的關聯(Correlation)
## [1] 1
v1 > 2 #每個元素和2比較
## [1] FALSE FALSE TRUE TRUE TRUE
v1 == v2 #每個元素和相對應的v2的元素比較
## [1] TRUE FALSE FALSE FALSE FALSE
v1 != v2
## [1] FALSE TRUE TRUE TRUE TRUE
(v1 > 2) | (v2 > 0) #OR,return vector
## [1] TRUE TRUE TRUE TRUE TRUE
(v1 > 2) & (v2 > 0) #AND,return vector
## [1] FALSE FALSE TRUE TRUE TRUE
(v1 > 2) || (v2 > 0) #OR,return a value
## [1] TRUE
(v1 > 2) && (v2 > 0) #AND,return a value
## [1] FALSE
v1[3] #v1的第3個
## [1] 3
v1[2:4] #v1的第2~4的
## [1] 2 3 4
v1[c(1,3)] #v1的第1和3個
## [1] 1 3
v1[c(T,T,F,F,F)] #v1的1和2(是True的)
## [1] 1 2
v1[v1 > 3] #v1中>3是TRUE的
## [1] 4 5
R的index是從1開始
v1[6:10] <- 6:10
length(v1) <- 15 #長度變成15,多的為NA
v1
## [1] 1 2 3 4 5 6 7 8 9 10 NA NA NA NA NA
eye.col.v <- c("brown", "green", "brown", "blue", "blue", "blue") #vector
eye.col.f <- factor(c("brown", "green", "brown", "blue", "blue", "blue")) #factor
eye.col.v
## [1] "brown" "green" "brown" "blue" "blue" "blue"
eye.col.f
## [1] brown green brown blue blue blue
## Levels: blue brown green
levels(eye.col.f)# The levels (distinct values) of the factor (categorical var)
## [1] "blue" "brown" "green"
as.numeric(eye.col.f) # 轉為數值:blue:1,brown:2,green:3
## [1] 2 3 2 1 1 1
#vector不能轉為數值
as.character(eye.col.f) #轉為character
## [1] "brown" "green" "brown" "blue" "blue" "blue"
as.character(eye.col.v)
## [1] "brown" "green" "brown" "blue" "blue" "blue"
m <- rep(1:20)
m
## [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
dim(m) <- c(5,4) #5x4矩陣
m
## [,1] [,2] [,3] [,4]
## [1,] 1 6 11 16
## [2,] 2 7 12 17
## [3,] 3 8 13 18
## [4,] 4 9 14 19
## [5,] 5 10 15 20
m <- matrix(data = 1, nrow = 5, ncol = 4)
m
## [,1] [,2] [,3] [,4]
## [1,] 1 1 1 1
## [2,] 1 1 1 1
## [3,] 1 1 1 1
## [4,] 1 1 1 1
## [5,] 1 1 1 1
l <- matrix(1,5,4)
l
## [,1] [,2] [,3] [,4]
## [1,] 1 1 1 1
## [2,] 1 1 1 1
## [3,] 1 1 1 1
## [4,] 1 1 1 1
## [5,] 1 1 1 1
dim(l) #l的維度
## [1] 5 4
m <- cbind(1:5, 5:1, 5:9) #colum合併(5x3)
m
## [,1] [,2] [,3]
## [1,] 1 5 5
## [2,] 2 4 6
## [3,] 3 3 7
## [4,] 4 2 8
## [5,] 5 1 9
m <- rbind(1:5, 5:1, 5:9) #row合併(3x5)
m
## [,1] [,2] [,3] [,4] [,5]
## [1,] 1 2 3 4 5
## [2,] 5 4 3 2 1
## [3,] 5 6 7 8 9
m <- matrix(1:10, 10, 10)
m[2,3]
## [1] 2
m[2,]
## [1] 2 2 2 2 2 2 2 2 2 2
m[,2]
## [1] 1 2 3 4 5 6 7 8 9 10
m[1:2,4:6] # rows 1 and 2, columns 4, 5 and 6
## [,1] [,2] [,3]
## [1,] 1 1 1
## [2,] 2 2 2
m[-1,] #所有row除了第1個row
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 2 2 2 2 2 2 2 2 2 2
## [2,] 3 3 3 3 3 3 3 3 3 3
## [3,] 4 4 4 4 4 4 4 4 4 4
## [4,] 5 5 5 5 5 5 5 5 5 5
## [5,] 6 6 6 6 6 6 6 6 6 6
## [6,] 7 7 7 7 7 7 7 7 7 7
## [7,] 8 8 8 8 8 8 8 8 8 8
## [8,] 9 9 9 9 9 9 9 9 9 9
## [9,] 10 10 10 10 10 10 10 10 10 10
m[1,] == m[,1] #row1的是不是等於colume1
## [1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
m > 3
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [4,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [5,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [6,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [7,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [8,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [9,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [10,] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
m[m > 3]
## [1] 4 5 6 7 8 9 10 4 5 6 7 8 9 10 4 5 6 7 8 9 10 4 5 6 7
## [26] 8 9 10 4 5 6 7 8 9 10 4 5 6 7 8 9 10 4 5 6 7 8 9 10 4
## [51] 5 6 7 8 9 10 4 5 6 7 8 9 10 4 5 6 7 8 9 10
t(m) #轉置m
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 2 3 4 5 6 7 8 9 10
## [2,] 1 2 3 4 5 6 7 8 9 10
## [3,] 1 2 3 4 5 6 7 8 9 10
## [4,] 1 2 3 4 5 6 7 8 9 10
## [5,] 1 2 3 4 5 6 7 8 9 10
## [6,] 1 2 3 4 5 6 7 8 9 10
## [7,] 1 2 3 4 5 6 7 8 9 10
## [8,] 1 2 3 4 5 6 7 8 9 10
## [9,] 1 2 3 4 5 6 7 8 9 10
## [10,] 1 2 3 4 5 6 7 8 9 10
m <- t(m)
m %*% t(m) #矩陣乘法
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 385 385 385 385 385 385 385 385 385 385
## [2,] 385 385 385 385 385 385 385 385 385 385
## [3,] 385 385 385 385 385 385 385 385 385 385
## [4,] 385 385 385 385 385 385 385 385 385 385
## [5,] 385 385 385 385 385 385 385 385 385 385
## [6,] 385 385 385 385 385 385 385 385 385 385
## [7,] 385 385 385 385 385 385 385 385 385 385
## [8,] 385 385 385 385 385 385 385 385 385 385
## [9,] 385 385 385 385 385 385 385 385 385 385
## [10,] 385 385 385 385 385 385 385 385 385 385
m*m
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
## [1,] 1 4 9 16 25 36 49 64 81 100
## [2,] 1 4 9 16 25 36 49 64 81 100
## [3,] 1 4 9 16 25 36 49 64 81 100
## [4,] 1 4 9 16 25 36 49 64 81 100
## [5,] 1 4 9 16 25 36 49 64 81 100
## [6,] 1 4 9 16 25 36 49 64 81 100
## [7,] 1 4 9 16 25 36 49 64 81 100
## [8,] 1 4 9 16 25 36 49 64 81 100
## [9,] 1 4 9 16 25 36 49 64 81 100
## [10,] 1 4 9 16 25 36 49 64 81 100
a <- array(data = 1:18, dim = c(3,3,2))
a
## , , 1
##
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 10 13 16
## [2,] 11 14 17
## [3,] 12 15 18
a <- array(1:18, c(3, 3, 2))
a
## , , 1
##
## [,1] [,2] [,3]
## [1,] 1 4 7
## [2,] 2 5 8
## [3,] 3 6 9
##
## , , 2
##
## [,1] [,2] [,3]
## [1,] 10 13 16
## [2,] 11 14 17
## [3,] 12 15 18
l1 <- list(boo = v1, foo = v2, moo = v3, zoo = "Animals
!")
l2 <- list(v1, v2, v3, "Animals!")
# 空的list
l3 <- list()
l4 <- NULL
l1["boo"] # returns a list.
## $boo
## [1] 1 2 3 4 5 6 7 8 9 10 NA NA NA NA NA
l1[["boo"]] #returns the numeric vector
## [1] 1 2 3 4 5 6 7 8 9 10 NA NA NA NA NA
l1[[1]]
## [1] 1 2 3 4 5 6 7 8 9 10 NA NA NA NA NA
l1$boo
## [1] 1 2 3 4 5 6 7 8 9 10 NA NA NA NA NA
l3[[1]] <- 11 # add an element to the empty list l3
l4[[3]] <- c(22, 23) # add a vector as element 3 in the empty list l4.
在l4增加第三個位置,所以1,2個位子是NULL
l1[[5]] <- "More elements!" # l1有4個元素,我們在這裡添加第5個元素。
l1[[8]] <- 1:11 #l1中添加第8個元素,但沒有添加第6和第7個元素。編號為6和7的元素將創建為空(NULL)。
l1$Something <- "A thing" # Adds a ninth element - "A thing", named "Something"
rows as cases, columns as variables Each column is a vector or factor
dfr1 <- data.frame(ID = 1:4,
FirstName = c("John","Jim","Jane","Jill"),
Female=c(F,F,T,T),
Age=c(22,33,44,55))
dfr1$FirstName # Access the second column of dfr1.
## [1] John Jim Jane Jill
## Levels: Jane Jill Jim John
R認為dfr1$FirstName是類別變數(factor),不是character vector。
將“FirstName”當作vector
dfr1$FirstName <- as.vector(dfr1$FirstName)
stringsAsFactors=FALSE:告訴R不要當作factor
dfr2 <- data.frame(FirstName = c("John","Jim","Jane","Jill"), stringsAsFactors = F)
dfr2$FirstName
## [1] "John" "Jim" "Jane" "Jill"
使用dataframe的element
dfr1[1,] # First row, all columns
## ID FirstName Female Age
## 1 1 John FALSE 22
dfr1[,1] # First column, all rows
## [1] 1 2 3 4
dfr1$Age # Age column, all rows
## [1] 22 33 44 55
dfr1[1:2,3:4] # Rows 1 and 2, columns 3 and 4 - the gender and age of John & Jim
## Female Age
## 1 FALSE 22
## 2 FALSE 33
dfr1[c(1,3),] # Rows 1 and 3, all columns
## ID FirstName Female Age
## 1 1 John FALSE 22
## 3 3 Jane TRUE 44
找出30歲以上的名字
dfr1[dfr1$Age > 30, 2]
## [1] "Jim" "Jane" "Jill"
所有女性平均年齡
mean(dfr1[dfr1$Female == TRUE, 4])
## [1] 49.5
# if (condition) expr1 else expr2
x <- 5; y <- 10
if (x==0) y <- 0 else y <- y/x
y
## [1] 2
ASum <- 0; AProd <- 1
for (i in 1:x)
{
ASum <- ASum + i
AProd <- AProd * i
}
ASum # equivalent to sum(1:x)
## [1] 15
AProd # equivalemt to prod(1:x)
## [1] 120
while (x > 0) {print(x); x <- x-1;}
## [1] 5
## [1] 4
## [1] 3
## [1] 2
## [1] 1
# repeat expr, use break to exit the loop
repeat { print(x); x <- x+1; if (x>10) break}
## [1] 0
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10
x,y:點座標,pch:點符號形狀,cex:點大小,col:顏色
plot(x=1:10, y=rep(5,10), pch=19, cex=3, col="dark red") #有命名的顏色
points(x=1:10, y=rep(6, 10), pch=19, cex=3, col="557799") #色碼表
points(x=1:10, y=rep(4, 10), pch=19, cex=3, col=rgb(.25, .5, .3)) # RGB
RGB默認的範圍是0~1,可以用rgb(10, 100, 100, maxColorValue=255)設定成0-225
plot(x=1:5, y=rep(5,5), pch=19, cex=12, col=rgb(.25, .5, .3, alpha=.5), xlim=c(0,6))
使用 package grDevices的adjustcolor par():設定背景
par(bg="gray40")
col.tr <- grDevices::adjustcolor("557799", alpha=0.7)
plot(x=1:5, y=rep(5,5), pch=19, cex=12, col=col.tr, xlim=c(0,6))
colors() # List all named colors
## [1] "white" "aliceblue" "antiquewhite"
## [4] "antiquewhite1" "antiquewhite2" "antiquewhite3"
## [7] "antiquewhite4" "aquamarine" "aquamarine1"
## [10] "aquamarine2" "aquamarine3" "aquamarine4"
## [13] "azure" "azure1" "azure2"
## [16] "azure3" "azure4" "beige"
## [19] "bisque" "bisque1" "bisque2"
## [22] "bisque3" "bisque4" "black"
## [25] "blanchedalmond" "blue" "blue1"
## [28] "blue2" "blue3" "blue4"
## [31] "blueviolet" "brown" "brown1"
## [34] "brown2" "brown3" "brown4"
## [37] "burlywood" "burlywood1" "burlywood2"
## [40] "burlywood3" "burlywood4" "cadetblue"
## [43] "cadetblue1" "cadetblue2" "cadetblue3"
## [46] "cadetblue4" "chartreuse" "chartreuse1"
## [49] "chartreuse2" "chartreuse3" "chartreuse4"
## [52] "chocolate" "chocolate1" "chocolate2"
## [55] "chocolate3" "chocolate4" "coral"
## [58] "coral1" "coral2" "coral3"
## [61] "coral4" "cornflowerblue" "cornsilk"
## [64] "cornsilk1" "cornsilk2" "cornsilk3"
## [67] "cornsilk4" "cyan" "cyan1"
## [70] "cyan2" "cyan3" "cyan4"
## [73] "darkblue" "darkcyan" "darkgoldenrod"
## [76] "darkgoldenrod1" "darkgoldenrod2" "darkgoldenrod3"
## [79] "darkgoldenrod4" "darkgray" "darkgreen"
## [82] "darkgrey" "darkkhaki" "darkmagenta"
## [85] "darkolivegreen" "darkolivegreen1" "darkolivegreen2"
## [88] "darkolivegreen3" "darkolivegreen4" "darkorange"
## [91] "darkorange1" "darkorange2" "darkorange3"
## [94] "darkorange4" "darkorchid" "darkorchid1"
## [97] "darkorchid2" "darkorchid3" "darkorchid4"
## [100] "darkred" "darksalmon" "darkseagreen"
## [103] "darkseagreen1" "darkseagreen2" "darkseagreen3"
## [106] "darkseagreen4" "darkslateblue" "darkslategray"
## [109] "darkslategray1" "darkslategray2" "darkslategray3"
## [112] "darkslategray4" "darkslategrey" "darkturquoise"
## [115] "darkviolet" "deeppink" "deeppink1"
## [118] "deeppink2" "deeppink3" "deeppink4"
## [121] "deepskyblue" "deepskyblue1" "deepskyblue2"
## [124] "deepskyblue3" "deepskyblue4" "dimgray"
## [127] "dimgrey" "dodgerblue" "dodgerblue1"
## [130] "dodgerblue2" "dodgerblue3" "dodgerblue4"
## [133] "firebrick" "firebrick1" "firebrick2"
## [136] "firebrick3" "firebrick4" "floralwhite"
## [139] "forestgreen" "gainsboro" "ghostwhite"
## [142] "gold" "gold1" "gold2"
## [145] "gold3" "gold4" "goldenrod"
## [148] "goldenrod1" "goldenrod2" "goldenrod3"
## [151] "goldenrod4" "gray" "gray0"
## [154] "gray1" "gray2" "gray3"
## [157] "gray4" "gray5" "gray6"
## [160] "gray7" "gray8" "gray9"
## [163] "gray10" "gray11" "gray12"
## [166] "gray13" "gray14" "gray15"
## [169] "gray16" "gray17" "gray18"
## [172] "gray19" "gray20" "gray21"
## [175] "gray22" "gray23" "gray24"
## [178] "gray25" "gray26" "gray27"
## [181] "gray28" "gray29" "gray30"
## [184] "gray31" "gray32" "gray33"
## [187] "gray34" "gray35" "gray36"
## [190] "gray37" "gray38" "gray39"
## [193] "gray40" "gray41" "gray42"
## [196] "gray43" "gray44" "gray45"
## [199] "gray46" "gray47" "gray48"
## [202] "gray49" "gray50" "gray51"
## [205] "gray52" "gray53" "gray54"
## [208] "gray55" "gray56" "gray57"
## [211] "gray58" "gray59" "gray60"
## [214] "gray61" "gray62" "gray63"
## [217] "gray64" "gray65" "gray66"
## [220] "gray67" "gray68" "gray69"
## [223] "gray70" "gray71" "gray72"
## [226] "gray73" "gray74" "gray75"
## [229] "gray76" "gray77" "gray78"
## [232] "gray79" "gray80" "gray81"
## [235] "gray82" "gray83" "gray84"
## [238] "gray85" "gray86" "gray87"
## [241] "gray88" "gray89" "gray90"
## [244] "gray91" "gray92" "gray93"
## [247] "gray94" "gray95" "gray96"
## [250] "gray97" "gray98" "gray99"
## [253] "gray100" "green" "green1"
## [256] "green2" "green3" "green4"
## [259] "greenyellow" "grey" "grey0"
## [262] "grey1" "grey2" "grey3"
## [265] "grey4" "grey5" "grey6"
## [268] "grey7" "grey8" "grey9"
## [271] "grey10" "grey11" "grey12"
## [274] "grey13" "grey14" "grey15"
## [277] "grey16" "grey17" "grey18"
## [280] "grey19" "grey20" "grey21"
## [283] "grey22" "grey23" "grey24"
## [286] "grey25" "grey26" "grey27"
## [289] "grey28" "grey29" "grey30"
## [292] "grey31" "grey32" "grey33"
## [295] "grey34" "grey35" "grey36"
## [298] "grey37" "grey38" "grey39"
## [301] "grey40" "grey41" "grey42"
## [304] "grey43" "grey44" "grey45"
## [307] "grey46" "grey47" "grey48"
## [310] "grey49" "grey50" "grey51"
## [313] "grey52" "grey53" "grey54"
## [316] "grey55" "grey56" "grey57"
## [319] "grey58" "grey59" "grey60"
## [322] "grey61" "grey62" "grey63"
## [325] "grey64" "grey65" "grey66"
## [328] "grey67" "grey68" "grey69"
## [331] "grey70" "grey71" "grey72"
## [334] "grey73" "grey74" "grey75"
## [337] "grey76" "grey77" "grey78"
## [340] "grey79" "grey80" "grey81"
## [343] "grey82" "grey83" "grey84"
## [346] "grey85" "grey86" "grey87"
## [349] "grey88" "grey89" "grey90"
## [352] "grey91" "grey92" "grey93"
## [355] "grey94" "grey95" "grey96"
## [358] "grey97" "grey98" "grey99"
## [361] "grey100" "honeydew" "honeydew1"
## [364] "honeydew2" "honeydew3" "honeydew4"
## [367] "hotpink" "hotpink1" "hotpink2"
## [370] "hotpink3" "hotpink4" "indianred"
## [373] "indianred1" "indianred2" "indianred3"
## [376] "indianred4" "ivory" "ivory1"
## [379] "ivory2" "ivory3" "ivory4"
## [382] "khaki" "khaki1" "khaki2"
## [385] "khaki3" "khaki4" "lavender"
## [388] "lavenderblush" "lavenderblush1" "lavenderblush2"
## [391] "lavenderblush3" "lavenderblush4" "lawngreen"
## [394] "lemonchiffon" "lemonchiffon1" "lemonchiffon2"
## [397] "lemonchiffon3" "lemonchiffon4" "lightblue"
## [400] "lightblue1" "lightblue2" "lightblue3"
## [403] "lightblue4" "lightcoral" "lightcyan"
## [406] "lightcyan1" "lightcyan2" "lightcyan3"
## [409] "lightcyan4" "lightgoldenrod" "lightgoldenrod1"
## [412] "lightgoldenrod2" "lightgoldenrod3" "lightgoldenrod4"
## [415] "lightgoldenrodyellow" "lightgray" "lightgreen"
## [418] "lightgrey" "lightpink" "lightpink1"
## [421] "lightpink2" "lightpink3" "lightpink4"
## [424] "lightsalmon" "lightsalmon1" "lightsalmon2"
## [427] "lightsalmon3" "lightsalmon4" "lightseagreen"
## [430] "lightskyblue" "lightskyblue1" "lightskyblue2"
## [433] "lightskyblue3" "lightskyblue4" "lightslateblue"
## [436] "lightslategray" "lightslategrey" "lightsteelblue"
## [439] "lightsteelblue1" "lightsteelblue2" "lightsteelblue3"
## [442] "lightsteelblue4" "lightyellow" "lightyellow1"
## [445] "lightyellow2" "lightyellow3" "lightyellow4"
## [448] "limegreen" "linen" "magenta"
## [451] "magenta1" "magenta2" "magenta3"
## [454] "magenta4" "maroon" "maroon1"
## [457] "maroon2" "maroon3" "maroon4"
## [460] "mediumaquamarine" "mediumblue" "mediumorchid"
## [463] "mediumorchid1" "mediumorchid2" "mediumorchid3"
## [466] "mediumorchid4" "mediumpurple" "mediumpurple1"
## [469] "mediumpurple2" "mediumpurple3" "mediumpurple4"
## [472] "mediumseagreen" "mediumslateblue" "mediumspringgreen"
## [475] "mediumturquoise" "mediumvioletred" "midnightblue"
## [478] "mintcream" "mistyrose" "mistyrose1"
## [481] "mistyrose2" "mistyrose3" "mistyrose4"
## [484] "moccasin" "navajowhite" "navajowhite1"
## [487] "navajowhite2" "navajowhite3" "navajowhite4"
## [490] "navy" "navyblue" "oldlace"
## [493] "olivedrab" "olivedrab1" "olivedrab2"
## [496] "olivedrab3" "olivedrab4" "orange"
## [499] "orange1" "orange2" "orange3"
## [502] "orange4" "orangered" "orangered1"
## [505] "orangered2" "orangered3" "orangered4"
## [508] "orchid" "orchid1" "orchid2"
## [511] "orchid3" "orchid4" "palegoldenrod"
## [514] "palegreen" "palegreen1" "palegreen2"
## [517] "palegreen3" "palegreen4" "paleturquoise"
## [520] "paleturquoise1" "paleturquoise2" "paleturquoise3"
## [523] "paleturquoise4" "palevioletred" "palevioletred1"
## [526] "palevioletred2" "palevioletred3" "palevioletred4"
## [529] "papayawhip" "peachpuff" "peachpuff1"
## [532] "peachpuff2" "peachpuff3" "peachpuff4"
## [535] "peru" "pink" "pink1"
## [538] "pink2" "pink3" "pink4"
## [541] "plum" "plum1" "plum2"
## [544] "plum3" "plum4" "powderblue"
## [547] "purple" "purple1" "purple2"
## [550] "purple3" "purple4" "red"
## [553] "red1" "red2" "red3"
## [556] "red4" "rosybrown" "rosybrown1"
## [559] "rosybrown2" "rosybrown3" "rosybrown4"
## [562] "royalblue" "royalblue1" "royalblue2"
## [565] "royalblue3" "royalblue4" "saddlebrown"
## [568] "salmon" "salmon1" "salmon2"
## [571] "salmon3" "salmon4" "sandybrown"
## [574] "seagreen" "seagreen1" "seagreen2"
## [577] "seagreen3" "seagreen4" "seashell"
## [580] "seashell1" "seashell2" "seashell3"
## [583] "seashell4" "sienna" "sienna1"
## [586] "sienna2" "sienna3" "sienna4"
## [589] "skyblue" "skyblue1" "skyblue2"
## [592] "skyblue3" "skyblue4" "slateblue"
## [595] "slateblue1" "slateblue2" "slateblue3"
## [598] "slateblue4" "slategray" "slategray1"
## [601] "slategray2" "slategray3" "slategray4"
## [604] "slategrey" "snow" "snow1"
## [607] "snow2" "snow3" "snow4"
## [610] "springgreen" "springgreen1" "springgreen2"
## [613] "springgreen3" "springgreen4" "steelblue"
## [616] "steelblue1" "steelblue2" "steelblue3"
## [619] "steelblue4" "tan" "tan1"
## [622] "tan2" "tan3" "tan4"
## [625] "thistle" "thistle1" "thistle2"
## [628] "thistle3" "thistle4" "tomato"
## [631] "tomato1" "tomato2" "tomato3"
## [634] "tomato4" "turquoise" "turquoise1"
## [637] "turquoise2" "turquoise3" "turquoise4"
## [640] "violet" "violetred" "violetred1"
## [643] "violetred2" "violetred3" "violetred4"
## [646] "wheat" "wheat1" "wheat2"
## [649] "wheat3" "wheat4" "whitesmoke"
## [652] "yellow" "yellow1" "yellow2"
## [655] "yellow3" "yellow4" "yellowgreen"
grep("blue", colors(), value=T) # Colors that have "blue" in the name
## [1] "aliceblue" "blue" "blue1" "blue2"
## [5] "blue3" "blue4" "blueviolet" "cadetblue"
## [9] "cadetblue1" "cadetblue2" "cadetblue3" "cadetblue4"
## [13] "cornflowerblue" "darkblue" "darkslateblue" "deepskyblue"
## [17] "deepskyblue1" "deepskyblue2" "deepskyblue3" "deepskyblue4"
## [21] "dodgerblue" "dodgerblue1" "dodgerblue2" "dodgerblue3"
## [25] "dodgerblue4" "lightblue" "lightblue1" "lightblue2"
## [29] "lightblue3" "lightblue4" "lightskyblue" "lightskyblue1"
## [33] "lightskyblue2" "lightskyblue3" "lightskyblue4" "lightslateblue"
## [37] "lightsteelblue" "lightsteelblue1" "lightsteelblue2" "lightsteelblue3"
## [41] "lightsteelblue4" "mediumblue" "mediumslateblue" "midnightblue"
## [45] "navyblue" "powderblue" "royalblue" "royalblue1"
## [49] "royalblue2" "royalblue3" "royalblue4" "skyblue"
## [53] "skyblue1" "skyblue2" "skyblue3" "skyblue4"
## [57] "slateblue" "slateblue1" "slateblue2" "slateblue3"
## [61] "slateblue4" "steelblue" "steelblue1" "steelblue2"
## [65] "steelblue3" "steelblue4"
pal1 <- heat.colors(5, alpha = 1) #熱(heat)色板中五個顏色,不透明
plot(x=1:10, y=1:10, pch=19, cex=5, col=pal1)
pal2 <- rainbow(5, alpha=.5) #彩虹色版的五個顏色,透明
plot(x=1:10, y=1:10, pch=19, cex=5, col=pal2)
colorRampPalette:返回一個function,根據他生成多顏色
palf <- colorRampPalette(c("gray80", "dark red"))
plot(x=10:1, y=1:10, pch=19, cex=5, col=palf(10))
#增加透明度
palf <- colorRampPalette(c(rgb(1,1,1, .2),rgb(.8,0,0, .7)), alpha=TRUE)
plot(x=10:1, y=1:10, pch=19, cex=5, col=palf(10))
在R中容易犯的錯誤 - Capitalization:R區分大小寫 - Object class:物件的類別 - Package namespaces:不同套件含有相同名稱的函數。1.使用::來指定套件例如,A::blah / B::blah 2.裝一個前先卸載另一個(library / detch)