R的資料框架(data frame),可以想像是Excel裡面的表。用無線電字母呼叫表為例:
以下粗體代表指令,Courier代表下指令後輸出的結果,中文是說明。
指令先後順序有所關聯,所以無法執行的話請從頭依序執行每一行指令
### 初始化一個空的資料框架,名稱叫做df ###
df <- data.frame(char=character(), telephony=character())
### 加入兩筆資料,注意每次都要指定加入的欄位名稱 ###
df <- rbind(df, data.frame(char="A", telephony="Alfa"))
df <- rbind(df, data.frame(char="B", telephony="Bravo"))
### 一次加入兩筆資料 ###
df <- rbind(df, data.frame(char="C", telephony="Charlie"),
data.frame(char="D", telephony="Delta"))
### 顯示資料框架內容 ###
show(df)
char telephony
1 A Alfa
2 B Bravo
3 C Charlie
4 D Delta
### 新增一個叫做MorseCode的欄位 ###
df["MorseCode"] <- NA
### 附加資料到新增欄位的資料框架內,注意到每個欄位都必須要給值 ###
df <- rbind(df, data.frame(char="E", telephony="Echo", MorseCode="."))
df <- rbind(df, data.frame(char="F", telephony="Foxtrot", MorseCode="..-."),
data.frame(char="G", telephony="Golf", MorseCode="--."),
data.frame(char="H", telephony="Hotel", MorseCode="...."))
### 把含有NA的資料給去除 ###
df1 <- na.omit(df)
show(df1)
char telephony MorseCode
5 E Echo .
6 F Foxtrot ..-.
7 G Golf --.
8 H Hotel ....
### 新增另一個資料框架df2,一個什麼都是空的資料框架,然後再加入資料 ###
df2 <- data.frame()
df2 <- rbind(df2, data.frame(char="I", telephony="India", MorseCode=".."),
data.frame(char="J", telephony="Juliett", MorseCode=".---"),
data.frame(char="K", telephony="Kilo", MorseCode="-.-"))
show(df2)
char telephony MorseCode
1 I India ..
2 J Juliett .---
3 K Kilo -.-
### 合併兩個資料框架df1與df2,產生df3。列編號會重給 ###
df3 <- rbind(df1, df2)
show(df3)
char telephony MorseCode
5 E Echo .
6 F Foxtrot ..-.
7 G Golf --.
8 H Hotel ....
51 I India ..
61 J Juliett .---
71 K Kilo -.-
### 根據MorseCode這個欄位來排序 ###
df3[with(df3, order(MorseCode)), ]
char telephony MorseCode
7 G Golf --.
71 K Kilo -.-
5 E Echo .
61 J Juliett .---
51 I India ..
6 F Foxtrot ..-.
8 H Hotel ....
更多關於資料框架參閱《Introduction to R》的Data frames節
¡¡ 資料框架(Data frame)與列表(List)或是矩陣(Matrix)是不一樣的,使用rbind加入新的資料的時候,若是發現怎樣都塞不進去,有可能就是混淆了這些資料結構 !!
_EOF_
你好,假設我在建立一個空的data frame時,
回覆刪除其中一欄所要填入的值她的類型屬性是"POSIXct" "POSIXt"
該如何填入她的屬性
這我沒有試過,不知道怎麼做喔~
刪除