learnR_數據結構_2
#數據集的行和列統計學家: 觀測和變量 observation&variable數據分析師: 記錄和字段 record&field數據挖掘者: 示例和屬性 example&attribute#數據結構: 偽“標量”、向量、矩陣、數組、數據框、列表。#數據類型: 數值型、字符型、邏輯型、復數型(虛數)、原生型(字節)。#變量: 包括名義型(類別型)、有序型、連續型等變量。####名義型變量: diabetes <- c('Type1','Type2','Type1','Type1') ####有序型變量: status <- c('Poor','ImExcellent','Poor') ####連續型變量: age <- c(18,23,20,24)#對象: 常量、數據結構、函數、圖形。#實例標識符: rownames(行名),標記實例名稱所用的變量。#因子: R中,指類別(名義型)變量和有序變量。它決定數據的分析方式和視覺呈現。2.1 偽“標量”(維度='1', 共存數據類型=1, mode=unsure)my_scalar <- 'hello' #R中沒有標量,標量以單元素向量的形式出現。2.2 向量 (維度=1, 共存數據類型>1, mode=unsure)my_vector <- c(1, 'hello', TRUE, 3+4i)2.3 矩陣 (維度=2, 共存數據類型=1, mode='numeric')vector <- 1:12rnames <- c('r1','r2','r3')cnames <- c('c1','c2','c3','c4')my_matrix <- matrix(vector, nrow=3, ncol=4, byrow=FALSE, dimnames=list(rnames, cnames))2.4 數組 (維度>2, 共存數據類型=1, mode='numeric')vector <- 1:24dim1 <- c('a1','a2')dim2 <- c('b1','b2','b3')dim3 <- c('c1','c2','c3','c4')my_array <- array(vector, c(2,3,4), dimnames=list(dim1,dim2,dim3))2.5 數據框(維度=2, 共存數據類型>1, mode='list')id <- c(1,2,3)name <- c('Curry','Tampson','Green')age <-c (20,NA,22)sex <- c('male','female','male')my_data <- data.frame(id, name, age, sex, row.names=id)#實例標識符row.names2.6 列表 (維度>2, 共存數據類型>1, mode='list')aa <- 'My_First_list'bb <- c('Tom','Jerry')cc <- matrix(1:10, nrow=5) my_list <- list(title=aa, person=bb, score=cc)my_list[[2]] == my_list[['person']] == my_list$person#########################################################################關于數據框中變量(my_data$name)的不同的代碼寫法2.5.1 常規寫法summary(mtcars$mpg)plot(mtcars$mpg, mtcars$disp)plot(mtcars$mpg, mtcars$wt)2.5.2 不推薦#attach(),容易引起變量名沖突attach(mtcars)summary(mpg)plot(mpg, disp)plot(mpg, wt)detach(mtcars)2.5.3 #with()函數with(mtcars, { no_print <- summary(mpg) yes_print <<- summary(mpg) #<<-特殊賦值符 plot(mpg, disp) plot(mpg, wt)})yes_printno_print2.5.4 因子R中,指類別(名義型)變量和有序變量。它決定數據的分析方式和視覺呈現。####名義型變量factor()轉換:diabetes <- c('Type1','Type2','Type1','Type1')diabetes_f <- factor(diabetes) #無序賦值numeric1,2,3...####有序型變量factor()轉換:status <- c('Poor','Improved','Excellent','Poor')status_f1 <- factor(status, ordered=TRUE) #以字母順序賦值numeric1,2,3...status_f2 <- factor(status, ordered=TRUE, levels=c('Poor','Improved','Excellent'))#以levels順序賦值numeric1,2,3...新聞熱點
疑難解答