R語言實戰-讀書筆記 (第2章 創建數據集)

**********************************************************

與導圖結合的腳本文件:
創建腳本:文件——新建腳本程序,將以下代碼複製粘貼至腳本內,選中右鍵運行當前或所選代碼。

setwd("E:\\R")
*vector*
a<- c(2:6)
a
b<-c(2,3,4,5,6)
b

*matrix*
cells <- c(1,26,24,68)
rnames <- c("R1", "R2")
cnames <- c("C1", "C2")
mymatrix <- matrix(cells, nrow=2, ncol=2, byrow=TRUE,
dimnames=list(rnames, cnames))
mymatrix
mymatrix2 <- matrix(cells, nrow=2, ncol=2, byrow=FALSE,
dimnames=list(rnames, cnames))
mymatrix2

*array*
dim1 <- c("A1", "A2")
dim2 <- c("B1", "B2", "B3")
dim3 <- c("C1", "C2", "C3", "C4")
z <- array(1:24, c(2, 3, 4), dimnames=list(dim1, dim2, dim3))
z

*dataframe*
patientID <- c(1, 2, 3, 4)
age <- c(25, 34, 28, 52)
diabetes <- c("Type1", "Type2", "Type1", "Type1")
status <- c("Poor", "Improved", "Excellent", "Poor")
patientdata <- data.frame(patientID, age, diabetes, status)
patientdata
patientdata[1:2]
patientdata[c("diabetes", "status")]
patientdata$age
*生成糖尿病類型diabetes和病情status的列聯表*
table(patientdata$diabetes, patientdata$status)

*factor*
diabetes <- c("Type1", "Type2", "Type1", "Type1")
diabetes <- factor(diabetes)
diabetes
diabetes1 <- c("Type1", "Type2", "Type1", "Type1")
diabetes1
status <- c("Poor", "Improved", "Excellent", "Poor")
*按照字母排序定levels*
status <- factor(status, ordered=TRUE)
status
*自定義排序水平*
status <- factor(status, order=TRUE,levels=c("Poor", "Improved", "Excellent"))
sex<-c(1,2,1,3,2)
*性別將被當成類別型變量,標籤“Male”和“Female”將替代1和2在結果中輸出,而且所有不是1或2的性別變量將被設爲缺失值。*
sex <- factor(sex, levels=c(1, 2), labels=c("Male", "Female"))
sex

*列表 list*
g <- "My First List"
h <- c(25, 26, 18, 39)
j <- matrix(1:10, nrow=5)
k <- c("one", "two", "three")
mylist <- list(title=g, ages=h, j, k)
mylist

*變量標籤*
names(patientdata)[2] <- "Age at hospitalization (in years)"
patientdata

*值標籤*
gender<-c(1,2,1,2)
patientdata <- data.frame(patientID, age, gender,diabetes, status)
patientdata
patientdata$gender <- factor(patientdata$gender,levels = c(1,2),labels = c("male", "female"))
patientdata

 

**********************************************************

思維導圖文字版,可忽略,供檢索用,方便快速定位到導圖相應位置。

R語言實戰
第2章 創建數據集
    2.1 數據集的概念

        行表示觀測,列表示變量
        R可以處理的數據類型(模式)包括數值型、字符型、邏輯型(TRUE/FALSE)、複數型(虛數)和原生型(字節)。
    2.2 數據結構
        2.2.1 向量  c()
用於存儲數值型、字符型和邏輯型數據的一維數組。
注意,單個向量中的數據必須擁有相同的類型或模式(數值型、字符型或邏輯型)。
標量是隻含一個元素的向量。
        2.2.2 矩陣 matrix()
是一個二維數組,只是每個元素都擁有相同的模式(數值型、字符型或邏輯型)。
            myymatrix <- matrix(vector, nrow=number_of_rows, ncol=number_of_columns,
byrow=logical_value, dimnames=list(char_vector_rownames, char_vector_colnames))
                vector:矩陣元素
                nrow, ncol:行和列的維數
                byrow=TERE/FALSE:矩陣按照行/列填充
                dimnames:以字符向量表示的行名和列名,可選
        2.2.3 數組 array()
與矩陣類似,但是維度大於2
            myarray <- array(vector, dimensions, dimnames)
        2.2.4 數據框 data.frame()
不同的列可包含不同模式的數據,最常使用
            mydata <- data.frame(col1, col2, col3,...)
                $:選取一個給定數據框中的某個特定變量
patientdata$age
                attach() 將數據框添加到R的搜索路徑中。R在遇到一個變量名以後,將檢查搜索路
徑中的數據框
                detach() 將數據框從搜索路徑中移除。值得注意的是,detach()並不會對數據框本身
做任何處理
                with()
        2.2.5 因子 factor()
類別(名義型)變量和有序類別(有序型)變量在R中稱爲因子(factor)。它決定了數據的分析方式以及如何進行視覺呈現。
            函數factor()以一個整數向量的形式存儲類別值,整數的取值範圍是[1...k](其中k是名義
型變量中唯一值的個數),同時一個由字符串(原始值)組成的內部向量將映射到這些整數上。簡言之:確定levels
            要表示有序型變量,需要爲函數factor()指定參數ordered=TRUE。因子的水平默認依字母順序創建
        2.2.6 列表 list()
是R的數據類型中最爲複雜的一種。一般來說,列表就是一些對象(或成分,component)的有序集合
            mylist <- list(object1, object2, ...)
    2.3 數據的輸入
        2.3.3 導入Excel數據
            
read.xlsx(file, n),其中file是Excel工作簿的所在路徑,n則爲要導入的工作表序
                library(xlsx)
workbook <- "c:/myworkbook.xlsx"
mydataframe <- read.xlsx(workbook, 1)
            openxlsx包
                install.packages("openxlsx")
library(openxlsx)
c<-read.xlsx("watershed.xlsx",sheet=1)
head(c,3)

        導入SPASS數據
            install.packages("Hmisc")
library(Hmisc)
mydataframe <- spss.get("mydata.sav", use.value.labels=TRUE)
use.value.labels=TRUE表示讓函數將帶有值標籤的變量導入爲R中水平對應相同的因子
            通過foreign包中的函數read.spss()導入到R中
        2.3.9 導入 NetCDF 數據
            library(ncdf)
nc <- nc_open("mynetCDFfile")
myarray <- get.var.ncdf(nc, myvar)
    2.4 數據集的標註
        2.4.1 變量的標籤
相當於變量的重命名
        2.4.2 值標籤
用標籤內容替代顯示變量的內容
    2.5 處理數據對象的實用函數
       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章