第二章 創建數據集
內容記錄
- 基本數據結構
- 向量:向量下標從0開始;向量下標可取負值,表示去除指定位置上的元素;R中運算都是向量化的,類似pandas中的運算邏輯;常用的統計函數;
- 因子:名義型沒有順序關係,有序型分層級和順序,區別靠定義時區分:定義時是否設定labels的順序(order=TRUE)
- 矩陣
- 數組:數組多指矩陣
- 列表:可以不同類型對象混合組成,用
$(列名)訪問列表中的成員 - 數據框dataframe:醫學數據集最常用,大部分結構化的數據均以數據框的形式呈現;行為觀測,列為變量;每列可以是不同模式的數據;與pandas中的dataframe數據結構類似;微觀結構和列表類似,行列對齊的特殊列表;使用
$(列名)調用數據框的列 - 數據類型的判斷和轉換。
- 獲取數據
- 內置數據集
- 模擬特定分佈的數據,如rnorm
- 數據文件導入(
read.csv()和read.table()) - 導出數據(
write.csv())
常用函數
| 函數 | 來源包 | 功能描述 |
|---|---|---|
| var() | stats | 求方差 |
| sd() | stats | 求標準差 |
| median() | stats | 求中位數 |
| sum() | base | 求和 |
| max() | base | 求最大值 |
| min() | base | 求最小值 |
| c() | base | 創建向量 |
| colMeans() | base | 按列求均值 |
| rowSums() | base | 按行求和 |
| factor() | base | 轉換為因子 |
| levels() | base | 或是因子的水平值 |
| rep() | base | 重複對象 |
| t() | base | 矩陣轉置 |
| View() | base | 查看對象 |
習題
2-1 R中的數據結構:
R 語言中包括哪些數據結構?矩陣和數據框的區別是什麼?
1. R中的數據結構:向量,因子,矩陣,數組,列表,數據框等;
2. 矩陣的元素都是同一類數據;但數據框和列一樣,每一列可以是不同類型的數據。
2-2 創建數據框data.frame變量
請用函數 data.frame( ) 創建一個包含三個變量的數據框。其中第一個變量 x 是小寫字母 a 到 j,第二個變量 y 是數字 1 到10,第三個變量 z 是10 個1。
x<-c('a','b','c','d','e','f','g','h','i','j')
y<-c(1:10)
z<-rep('1',10)
data<-data.frame(x,y,z)
print(data)
2-3 加載數據集並查看幫助
請將 survival 包裏的數據集 lung 加載到工作空間中。
# install.packages("survival")
library(survival)
View(lung)
?lung
2-4 生成數據分佈
請用函數 rnorm( ) 生成服從均值為 168、標準差為 10 的正態分佈的 1000 個隨機數,然後使用函數 hist( ) 查看該數據的分佈。
r24<- rnorm(1000, mean = 168, sd = 10)
hist(r24)
2-5 文件讀寫
請用函數 write.csv( ) 將 datasets 包裏面的數據集 iris 導出為一個 .csv 文件,然後再用函數 read.csv( ) 讀入該文件。比較讀入的數據集和原始數據集,查看是否存在差異。
d25<-datasets::iris
write.csv(d25,"d25-iris.csv")
d25.r<-read.csv("d25-iris.csv")
View(d25.r)