[R].Basic01

許sir

在本小節, 我們要了解

  • 基本的資料屬性與變數
  • 資料的輸入與輸出
  • 合併與分割資料

[第一部份].R 的基本資料屬性包含以下五種

  • character:文字字串,用 "" 包起來,ex:"test"
  • numeric:實數
  • integer:整數
  • complex:複數
  • logical:True 或 False
In [1]:
class("test")
class(10.10)
class(10)
class(as.integer(3)) # 因為 R 計算上是都是以雙倍精確度來計算,所以必須指定為 integer,不然都會被當成 numeric
class(as.integer(3.1)) # as.integer 可以將不是整數的數值變成整數
class(2+2i)
 class(TRUE) # 注意都要大寫,不可寫 True,但可以簡化成 T
'character'
'numeric'
'numeric'
'integer'
'integer'
'complex'
'logical'

[第二部份].R的基本變數與資料

2-1.一般變數

In [2]:
x = 12.5        # 一般數值
A1= "John"        #文字字串
z = FALSE           # 邏輯值 TRUE/FALSE 或 T/F
y = 2.4e3       # 2.4 x 10三次方 = 2400

A2 = paste(A1,"Dow",sep="")     # A2="JohnDow"

x^2             # 平方, 也可寫成 x**2
156.25
In [3]:
x + 3  ; x - 3 ; x * 3 ; x / 3  # 加減乘除
15.5
9.5
37.5
4.16666666666667
In [4]:
x %/% 3                     # 整除
x %% 3                     # 餘數
4
0.5

2-2.向量 (Vector)

In [5]:
x = c(1, 15.2, 33)                # c是combine的意思
y = c("男","女","女")             # 文字向量
z = c(TRUE,FALSE, FALSE, TRUE)    # 或 c(T,F,F,T)
x2 = x + 1                        #  x2 = c(2, 16.2, 14)
x[2]                                  #  15.2
15.2
In [6]:
x[c(1,3)]                           # 第一和第三個元素,就是(1, 33)         
x[-2]                               # "負號" 表示去除去掉第二個元素,也就是(1, 33)
y[3]                                  # "女"
y[1:2]                             # c("男","女")
  1. 1
  2. 33
  1. 1
  2. 33
'女'
  1. '男'
  2. '女'
In [7]:
#vector 中所有元素都必須是同一種資料屬性
#c() 也可以被用來結合兩個向量
x <- c(1:5)  # 1:5 表示從1到5 . 就是(1,2,3,4,5) 
y <- c(2, 4, 8) 
z <- c(x, y) 
z
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 2
  7. 4
  8. 8

2-3.Factor 變數

In [8]:
#其實就是”分類”的意思
#可以把”文字向量”分類,也可以把”數值向量”分類
gender = c("Boy","Girl","Girl","Boy","Girl")    # 文字向量
gender = as.factor(gender)  ;   gender       # Factor 變數 # 用分號區隔指令
  1. Boy
  2. Girl
  3. Girl
  4. Boy
  5. Girl
Levels:
  1. 'Boy'
  2. 'Girl'
In [9]:
parttime = c(1,0,0,0,1)         # 有無打工(數值向量)
parttime = as.factor(parttime)  ;  parttime # Factor 變數
parttime[2]          # 顯示出第二筆資料(Factor 變數的指標使用跟向量變數一樣)
  1. 1
  2. 0
  3. 0
  4. 0
  5. 1
Levels:
  1. '0'
  2. '1'
0
Levels:
  1. '0'
  2. '1'

2-4.串列 (List)

In [10]:
#是向量的的擴充,可包含不同屬性的元素
#list 是非常方便好用的資料形態。尤其是需儲存不同類型資料的時候,特別好用。
friend1 = list(fname="John",age=32,child.ages=c(2,5))
friend1
$fname
'John'
$age
32
$child.ages
  1. 2
  2. 5
In [11]:
friend1$fname               # 等於 friend1[[1]]  # $是指定變項 
friend1$age     # 等於 friend1[[2]]
friend1$child.ages  # 等於 friend1[[3]]
friend1$child.ages[2]   # 等於 friend1[[3]][2]
'John'
32
  1. 2
  2. 5
5

2-5.矩陣 (Matrix)

In [12]:
M1 <- matrix(c(1:144), 12, 12) #請幫我作一個 12*12 的矩陣 並從1到144
M1
1 13 25 37 49 61 73 85 97109121133
2 14 26 38 50 62 74 86 98110122134
3 15 27 39 51 63 75 87 99111123135
4 16 28 40 52 64 76 88 100112124136
5 17 29 41 53 65 77 89 101113125137
6 18 30 42 54 66 78 90 102114126138
7 19 31 43 55 67 79 91 103115127139
8 20 32 44 56 68 80 92 104116128140
9 21 33 45 57 69 81 93 105117129141
10 22 34 46 58 70 82 94 106118130142
11 23 35 47 59 71 83 95 107119131143
12 24 36 48 60 72 84 96 108120132144
In [13]:
M1[6, ]
  1. 6
  2. 18
  3. 30
  4. 42
  5. 54
  6. 66
  7. 78
  8. 90
  9. 102
  10. 114
  11. 126
  12. 138
In [14]:
M1[, 6]
  1. 61
  2. 62
  3. 63
  4. 64
  5. 65
  6. 66
  7. 67
  8. 68
  9. 69
  10. 70
  11. 71
  12. 72
In [16]:
x1 = c(11,12,13)
x2 = c(21,22,23)
M1 = rbind(x1,x2)     #row bind; 視為橫列連起來
M2 = cbind(x1,x2)   #column bind; 視為直行連起來
M1; M2
x1111213
x2212223
x1x2
1121
1222
1323

2-6.資料框架 (Data Frame)

In [17]:
data(iris)
names(iris) # 查看變數名
  1. 'Sepal.Length'
  2. 'Sepal.Width'
  3. 'Petal.Length'
  4. 'Petal.Width'
  5. 'Species'
In [20]:
head(iris, 12)  # 只看前12筆資料
tail(iris, 12) # 只看尾巴12筆資料
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
5.1 3.5 1.4 0.2 setosa
4.9 3.0 1.4 0.2 setosa
4.7 3.2 1.3 0.2 setosa
4.6 3.1 1.5 0.2 setosa
5.0 3.6 1.4 0.2 setosa
5.4 3.9 1.7 0.4 setosa
4.6 3.4 1.4 0.3 setosa
5.0 3.4 1.5 0.2 setosa
4.4 2.9 1.4 0.2 setosa
4.9 3.1 1.5 0.1 setosa
5.4 3.7 1.5 0.2 setosa
4.8 3.4 1.6 0.2 setosa
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
1396.0 3.0 4.8 1.8 virginica
1406.9 3.1 5.4 2.1 virginica
1416.7 3.1 5.6 2.4 virginica
1426.9 3.1 5.1 2.3 virginica
1435.8 2.7 5.1 1.9 virginica
1446.8 3.2 5.9 2.3 virginica
1456.7 3.3 5.7 2.5 virginica
1466.7 3.0 5.2 2.3 virginica
1476.3 2.5 5.0 1.9 virginica
1486.5 3.0 5.2 2.0 virginica
1496.2 3.4 5.4 2.3 virginica
1505.9 3.0 5.1 1.8 virginica
In [18]:
dim(iris) # 查看列數與欄數
summary(iris)#基本敘述性統計量
  1. 150
  2. 5
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width   
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500  
       Species  
 setosa    :50  
 versicolor:50  
 virginica :50  
                
                
                
In [19]:
iris1 <- iris[1:12, ]   # 把iris前12筆資料存成iris1

iris1[6, ]      # iris1第6筆是多少(row)
iris1[c(4, 10) , ] #取得第4 及第10 列資料
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
65.4 3.9 1.7 0.4 setosa
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
44.6 3.1 1.5 0.2 setosa
104.9 3.1 1.5 0.1 setosa

以下三種寫法都代表同一件事(Column)

In [20]:
iris1[, 2]    # iris1第2筆是多少(Column)
iris1[, "Sepal.Width"] #和 iris1[, 2] 相同
iris1$Sepal.Width
  1. 3.5
  2. 3
  3. 3.2
  4. 3.1
  5. 3.6
  6. 3.9
  7. 3.4
  8. 3.4
  9. 2.9
  10. 3.1
  11. 3.7
  12. 3.4
  1. 3.5
  2. 3
  3. 3.2
  4. 3.1
  5. 3.6
  6. 3.9
  7. 3.4
  8. 3.4
  9. 2.9
  10. 3.1
  11. 3.7
  12. 3.4
  1. 3.5
  2. 3
  3. 3.2
  4. 3.1
  5. 3.6
  6. 3.9
  7. 3.4
  8. 3.4
  9. 2.9
  10. 3.1
  11. 3.7
  12. 3.4
In [21]:
subset(iris1, Sepal.Width >= 3.5) #取得Sepal.Width 大於等於3.5 的資料
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
15.1 3.5 1.4 0.2 setosa
55.0 3.6 1.4 0.2 setosa
65.4 3.9 1.7 0.4 setosa
115.4 3.7 1.5 0.2 setosa

[第三部份].R的資料匯入與輸出

  • 請特別注意你的作業系統
  • windows / Mac / Linux 的路徑表示方法都不同
  • 同時若你採用 Anaconda , 請注意你啟動的位置
  • 若你採用R 或 R-Studio, 請採用下列 setwd()
In [28]:
#getwd()  #顯示目前的工作資料夾 
#setwd()  #設定工作資料夾

#set working directory的簡寫。要指定工作資料夾,必須要告訴R路徑。本例是將R的工作資料夾指定為c磁碟機中的downloads。要注意路經前後要加上" "。現在可以再用getwd()來看看工作資料夾是否已設定完成。

3-1.如果我的檔案是.csv檔

匯入 CSV 檔的時候會碰到一種比較特別的問題,就是作業系統編碼不同的問題,Windows 的中文編碼是 big5,而 Linux / Mac 都是 UTF-8,所以在 Linux / Mac 匯入來自於 Windows CSV 檔常常會發生亂碼,那該如何解決此問題,本人的做法是將資料讀進來轉成 UTF-8,在輸出一份 CSV 檔,以下先以一個 CSV 檔為主,加以調整修改就可以改成一次跑一個資料夾下的所有 CSV 檔。

In [23]:
babies <- read.csv("babies.csv", header = TRUE, sep = ",")   #把babies.csv 叫進來
str(babies)                 #把babies資料的屬性show出來
'data.frame':	1236 obs. of  7 variables:
 $ bwt      : int  120 113 128 123 108 136 138 132 120 143 ...
 $ gestation: int  284 282 279 NA 282 286 244 245 289 299 ...
 $ parity   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ age      : int  27 33 28 36 23 25 33 23 25 30 ...
 $ height   : int  62 64 64 69 67 62 62 65 62 66 ...
 $ weight   : int  100 135 115 190 125 93 178 140 125 136 ...
 $ smoke    : int  0 0 1 0 1 0 0 0 0 1 ...
In [24]:
#我們重覆一下前面學到的指令

head(babies , 15)               # 只看前15筆資料
tail(babies , 15) # 只看尾巴15筆資料
bwtgestationparityageheightweightsmoke
1202840 27 62 1000
1132820 33 64 1350
1282790 28 64 1151
123 NA0 36 69 1900
1082820 23 67 1251
1362860 25 62 930
1382440 33 62 1780
1322450 23 65 1400
1202890 25 62 1250
1432990 30 66 1361
1403510 27 68 1200
1442820 32 64 1241
1412790 23 63 1281
1102810 36 61 991
1142730 30 63 1540
bwtgestationparityageheightweightsmoke
12221142901 21 65 1201
12231242881 21 64 1161
12241152621 23 64 1361
12251432810 28 65 1351
12261132871 29 70 1451
12271092441 21 63 1021
12281032780 30 60 871
12291182760 34 64 1160
12301272900 27 65 1210
12311322700 27 65 1260
12321132751 27 60 1000
12331282650 24 67 1200
12341302910 30 65 1501
12351252811 21 65 1100
12361172970 38 65 1290

3-2.如果我的檔案是.txt檔

In [29]:
xdata = read.table("babies.txt",header=TRUE)   # header: 表頭
head(xdata)             # 只看前6筆資料
bwtgestationparityageheightweightsmoke
1202840 27 62 1000
1132820 33 64 1350
1282790 28 64 1151
123 NA0 36 69 1900
1082820 23 67 1251
1362860 25 62 930

3-3.另存新檔(輸出資料)

In [26]:
data <- iris # iris 是 R 內建的資料。
write.table(data, file = "test.CSV", sep = ",") #請特別注意路徑

[第四部份].合併與分割資料

4-1.資料合併

In [37]:
x <- c(1, 2, 3)
y <- c(10, 20, 30)
union(x ,y) # union 如英文名稱就是取聯集

rbind(x, y) # 透過 row 合併
cbind(x, y) # 透過 column 合併
  1. 1
  2. 2
  3. 3
  4. 10
  5. 20
  6. 30
x 1 2 3
y102030
xy
1 10
2 20
3 30
In [30]:
x <- cbind(c("Tom", "Joe", "Vicky"), c(27, 29, 28))
y <- cbind(c("Tom", "Joe", "Vicky"), c(178, 186, 168))
colnames(x) <- c("name", "age")
colnames(y) <- c("name", "tall")
merge(x, y, by = "name") # 將 data.frame 透過一個欄位進行合併
nameagetall
Joe 29 186
Tom 27 178
Vicky28 168

4-2.資料分割

In [31]:
data <- iris
split(data, sample(rep(1:2, 75))) # rep(1:2, 75) 產生 1,2 交錯的向量,但加了前面的 sample 則是隨機抽取
$`1`
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
15.1 3.5 1.4 0.2 setosa
44.6 3.1 1.5 0.2 setosa
85.0 3.4 1.5 0.2 setosa
104.9 3.1 1.5 0.1 setosa
124.8 3.4 1.6 0.2 setosa
134.8 3.0 1.4 0.1 setosa
144.3 3.0 1.1 0.1 setosa
175.4 3.9 1.3 0.4 setosa
185.1 3.5 1.4 0.3 setosa
195.7 3.8 1.7 0.3 setosa
275.0 3.4 1.6 0.4 setosa
285.2 3.5 1.5 0.2 setosa
295.2 3.4 1.4 0.2 setosa
314.8 3.1 1.6 0.2 setosa
345.5 4.2 1.4 0.2 setosa
365.0 3.2 1.2 0.2 setosa
375.5 3.5 1.3 0.2 setosa
384.9 3.6 1.4 0.1 setosa
394.4 3.0 1.3 0.2 setosa
445.0 3.5 1.6 0.6 setosa
455.1 3.8 1.9 0.4 setosa
484.6 3.2 1.4 0.2 setosa
495.3 3.7 1.5 0.2 setosa
505.0 3.3 1.4 0.2 setosa
526.4 3.2 4.5 1.5 versicolor
556.5 2.8 4.6 1.5 versicolor
565.7 2.8 4.5 1.3 versicolor
584.9 2.4 3.3 1.0 versicolor
615.0 2.0 3.5 1.0 versicolor
636.0 2.2 4.0 1.0 versicolor
1005.7 2.8 4.1 1.3 versicolor
1025.8 2.7 5.1 1.9 virginica
1037.1 3.0 5.9 2.1 virginica
1074.9 2.5 4.5 1.7 virginica
1087.3 2.9 6.3 1.8 virginica
1096.7 2.5 5.8 1.8 virginica
1107.2 3.6 6.1 2.5 virginica
1116.5 3.2 5.1 2.0 virginica
1126.4 2.7 5.3 1.9 virginica
1136.8 3.0 5.5 2.1 virginica
1166.4 3.2 5.3 2.3 virginica
1176.5 3.0 5.5 1.8 virginica
1187.7 3.8 6.7 2.2 virginica
1197.7 2.6 6.9 2.3 virginica
1206.0 2.2 5.0 1.5 virginica
1225.6 2.8 4.9 2.0 virginica
1237.7 2.8 6.7 2.0 virginica
1246.3 2.7 4.9 1.8 virginica
1256.7 3.3 5.7 2.1 virginica
1276.2 2.8 4.8 1.8 virginica
1296.4 2.8 5.6 2.1 virginica
1307.2 3.0 5.8 1.6 virginica
1317.4 2.8 6.1 1.9 virginica
1336.4 2.8 5.6 2.2 virginica
1346.3 2.8 5.1 1.5 virginica
1356.1 2.6 5.6 1.4 virginica
1426.9 3.1 5.1 2.3 virginica
1476.3 2.5 5.0 1.9 virginica
1486.5 3.0 5.2 2.0 virginica
1496.2 3.4 5.4 2.3 virginica
$`2`
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
24.9 3.0 1.4 0.2 setosa
34.7 3.2 1.3 0.2 setosa
55.0 3.6 1.4 0.2 setosa
65.4 3.9 1.7 0.4 setosa
74.6 3.4 1.4 0.3 setosa
94.4 2.9 1.4 0.2 setosa
115.4 3.7 1.5 0.2 setosa
155.8 4.0 1.2 0.2 setosa
165.7 4.4 1.5 0.4 setosa
205.1 3.8 1.5 0.3 setosa
215.4 3.4 1.7 0.2 setosa
225.1 3.7 1.5 0.4 setosa
234.6 3.6 1.0 0.2 setosa
245.1 3.3 1.7 0.5 setosa
254.8 3.4 1.9 0.2 setosa
265.0 3.0 1.6 0.2 setosa
304.7 3.2 1.6 0.2 setosa
325.4 3.4 1.5 0.4 setosa
335.2 4.1 1.5 0.1 setosa
354.9 3.1 1.5 0.2 setosa
405.1 3.4 1.5 0.2 setosa
415.0 3.5 1.3 0.3 setosa
424.5 2.3 1.3 0.3 setosa
434.4 3.2 1.3 0.2 setosa
464.8 3.0 1.4 0.3 setosa
475.1 3.8 1.6 0.2 setosa
517.0 3.2 4.7 1.4 versicolor
536.9 3.1 4.9 1.5 versicolor
545.5 2.3 4.0 1.3 versicolor
576.3 3.3 4.7 1.6 versicolor
846.0 2.7 5.1 1.6 versicolor
876.7 3.1 4.7 1.5 versicolor
886.3 2.3 4.4 1.3 versicolor
905.5 2.5 4.0 1.3 versicolor
915.5 2.6 4.4 1.2 versicolor
945.0 2.3 3.3 1.0 versicolor
975.7 2.9 4.2 1.3 versicolor
986.2 2.9 4.3 1.3 versicolor
995.1 2.5 3.0 1.1 versicolor
1016.3 3.3 6.0 2.5 virginica
1046.3 2.9 5.6 1.8 virginica
1056.5 3.0 5.8 2.2 virginica
1067.6 3.0 6.6 2.1 virginica
1145.7 2.5 5.0 2.0 virginica
1155.8 2.8 5.1 2.4 virginica
1216.9 3.2 5.7 2.3 virginica
1267.2 3.2 6.0 1.8 virginica
1286.1 3.0 4.9 1.8 virginica
1327.9 3.8 6.4 2.0 virginica
1367.7 3.0 6.1 2.3 virginica
1376.3 3.4 5.6 2.4 virginica
1386.4 3.1 5.5 1.8 virginica
1396.0 3.0 4.8 1.8 virginica
1406.9 3.1 5.4 2.1 virginica
1416.7 3.1 5.6 2.4 virginica
1435.8 2.7 5.1 1.9 virginica
1446.8 3.2 5.9 2.3 virginica
1456.7 3.3 5.7 2.5 virginica
1466.7 3.0 5.2 2.3 virginica
1505.9 3.0 5.1 1.8 virginica
In [40]:
subset(data, Sepal.Length > 5) # 只會出現 Sepal.Length > 5 的資料
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
15.1 3.5 1.4 0.2 setosa
65.4 3.9 1.7 0.4 setosa
115.4 3.7 1.5 0.2 setosa
155.8 4.0 1.2 0.2 setosa
165.7 4.4 1.5 0.4 setosa
175.4 3.9 1.3 0.4 setosa
185.1 3.5 1.4 0.3 setosa
195.7 3.8 1.7 0.3 setosa
205.1 3.8 1.5 0.3 setosa
215.4 3.4 1.7 0.2 setosa
225.1 3.7 1.5 0.4 setosa
245.1 3.3 1.7 0.5 setosa
285.2 3.5 1.5 0.2 setosa
295.2 3.4 1.4 0.2 setosa
325.4 3.4 1.5 0.4 setosa
335.2 4.1 1.5 0.1 setosa
345.5 4.2 1.4 0.2 setosa
375.5 3.5 1.3 0.2 setosa
405.1 3.4 1.5 0.2 setosa
455.1 3.8 1.9 0.4 setosa
475.1 3.8 1.6 0.2 setosa
495.3 3.7 1.5 0.2 setosa
517.0 3.2 4.7 1.4 versicolor
526.4 3.2 4.5 1.5 versicolor
536.9 3.1 4.9 1.5 versicolor
545.5 2.3 4.0 1.3 versicolor
556.5 2.8 4.6 1.5 versicolor
565.7 2.8 4.5 1.3 versicolor
576.3 3.3 4.7 1.6 versicolor
596.6 2.9 4.6 1.3 versicolor
1216.9 3.2 5.7 2.3 virginica
1225.6 2.8 4.9 2.0 virginica
1237.7 2.8 6.7 2.0 virginica
1246.3 2.7 4.9 1.8 virginica
1256.7 3.3 5.7 2.1 virginica
1267.2 3.2 6.0 1.8 virginica
1276.2 2.8 4.8 1.8 virginica
1286.1 3.0 4.9 1.8 virginica
1296.4 2.8 5.6 2.1 virginica
1307.2 3.0 5.8 1.6 virginica
1317.4 2.8 6.1 1.9 virginica
1327.9 3.8 6.4 2.0 virginica
1336.4 2.8 5.6 2.2 virginica
1346.3 2.8 5.1 1.5 virginica
1356.1 2.6 5.6 1.4 virginica
1367.7 3.0 6.1 2.3 virginica
1376.3 3.4 5.6 2.4 virginica
1386.4 3.1 5.5 1.8 virginica
1396.0 3.0 4.8 1.8 virginica
1406.9 3.1 5.4 2.1 virginica
1416.7 3.1 5.6 2.4 virginica
1426.9 3.1 5.1 2.3 virginica
1435.8 2.7 5.1 1.9 virginica
1446.8 3.2 5.9 2.3 virginica
1456.7 3.3 5.7 2.5 virginica
1466.7 3.0 5.2 2.3 virginica
1476.3 2.5 5.0 1.9 virginica
1486.5 3.0 5.2 2.0 virginica
1496.2 3.4 5.4 2.3 virginica
1505.9 3.0 5.1 1.8 virginica
In [32]:
subset(data, Sepal.Length > 5,select = Sepal.Length) # 只會出現 Sepal.Length > 5 的資料且欄位只有 Sepal
Sepal.Length
15.1
65.4
115.4
155.8
165.7
175.4
185.1
195.7
205.1
215.4
225.1
245.1
285.2
295.2
325.4
335.2
345.5
375.5
405.1
455.1
475.1
495.3
517.0
526.4
536.9
545.5
556.5
565.7
576.3
596.6
1216.9
1225.6
1237.7
1246.3
1256.7
1267.2
1276.2
1286.1
1296.4
1307.2
1317.4
1327.9
1336.4
1346.3
1356.1
1367.7
1376.3
1386.4
1396.0
1406.9
1416.7
1426.9
1435.8
1446.8
1456.7
1466.7
1476.3
1486.5
1496.2
1505.9
In [33]:
subset(data, Sepal.Length > 5,select = -Sepal.Length) # selct = 負的代表不要出現的欄位。
Sepal.WidthPetal.LengthPetal.WidthSpecies
13.5 1.4 0.2 setosa
63.9 1.7 0.4 setosa
113.7 1.5 0.2 setosa
154.0 1.2 0.2 setosa
164.4 1.5 0.4 setosa
173.9 1.3 0.4 setosa
183.5 1.4 0.3 setosa
193.8 1.7 0.3 setosa
203.8 1.5 0.3 setosa
213.4 1.7 0.2 setosa
223.7 1.5 0.4 setosa
243.3 1.7 0.5 setosa
283.5 1.5 0.2 setosa
293.4 1.4 0.2 setosa
323.4 1.5 0.4 setosa
334.1 1.5 0.1 setosa
344.2 1.4 0.2 setosa
373.5 1.3 0.2 setosa
403.4 1.5 0.2 setosa
453.8 1.9 0.4 setosa
473.8 1.6 0.2 setosa
493.7 1.5 0.2 setosa
513.2 4.7 1.4 versicolor
523.2 4.5 1.5 versicolor
533.1 4.9 1.5 versicolor
542.3 4.0 1.3 versicolor
552.8 4.6 1.5 versicolor
562.8 4.5 1.3 versicolor
573.3 4.7 1.6 versicolor
592.9 4.6 1.3 versicolor
1213.2 5.7 2.3 virginica
1222.8 4.9 2.0 virginica
1232.8 6.7 2.0 virginica
1242.7 4.9 1.8 virginica
1253.3 5.7 2.1 virginica
1263.2 6.0 1.8 virginica
1272.8 4.8 1.8 virginica
1283.0 4.9 1.8 virginica
1292.8 5.6 2.1 virginica
1303.0 5.8 1.6 virginica
1312.8 6.1 1.9 virginica
1323.8 6.4 2.0 virginica
1332.8 5.6 2.2 virginica
1342.8 5.1 1.5 virginica
1352.6 5.6 1.4 virginica
1363.0 6.1 2.3 virginica
1373.4 5.6 2.4 virginica
1383.1 5.5 1.8 virginica
1393.0 4.8 1.8 virginica
1403.1 5.4 2.1 virginica
1413.1 5.6 2.4 virginica
1423.1 5.1 2.3 virginica
1432.7 5.1 1.9 virginica
1443.2 5.9 2.3 virginica
1453.3 5.7 2.5 virginica
1463.0 5.2 2.3 virginica
1472.5 5.0 1.9 virginica
1483.0 5.2 2.0 virginica
1493.4 5.4 2.3 virginica
1503.0 5.1 1.8 virginica

[補充範圍]4-3.資料比例 (本例將在資料工程章節再敘)

In [35]:
#install.packages('dplyr');

[以下為本週回家作業(加分用)]

請以內建的iris資料集

  • 查看變數名
  • 查看資料結構(型態)
  • 取得第50 及第100 列資料
  • iris第100筆的資料是多少(Column)
  • 切割一個新的集合(data set),此集合中只要Sepal.Length > 4 的資料,同時共有多少筆?

(當你的R-studio是新的,會有很多的packages你沒有安裝過,這時你一定常常會卡關,請試著排除障礙,自己去google,寫程式沒有捷徑,要下點苦功。加油)

In [ ]: