例如:
> a=list(c('232','34'),c('good','bad'),c(1,5)) > a [[1]] [1] "232" "34" [[2]] [1] "good" "bad" [[3]] [1] 1 5 > names(a)=c('d','w','j') > a $d [1] "232" "34" $w [1] "good" "bad" $j [1] 1 5 >
list數(shù)據(jù)類型取值用[[ ]],如:
> a[[1]] [1] "232" "34" > a[1] $d [1] "232" "34" >
現(xiàn)將list類型轉(zhuǎn)換成常用的數(shù)據(jù)類型:
1、unlist
> unlist(a) d1 d2 w1 w2 j1 j2 "232" "34" "good" "bad" "1" "5" >
可通過列名取值。
2、do.call
可使用do.call(rbind,x)和do.call(cbind,x)函數(shù)轉(zhuǎn)換成矩陣:
> do.call(rbind,a) [,1] [,2] d "232" "34" w "good" "bad" j "1" "5" > do.call(cbind,a) d w j [1,] "232" "good" "1" [2,] "34" "bad" "5"
補(bǔ)充:將list轉(zhuǎn)換為numeric_R語言
1.場景:
從excel復(fù)制格式化后的數(shù)據(jù)到剪貼板,在R中使用read.table()讀入剪貼板數(shù)據(jù),
data = read.table('clipboard', header = F) V1 1 91 2 79 3 91 4 84 5 85 6 91 7 92 8 76 9 96 10 93 mode(data) [1] "list"
由于data不是numeric,需要轉(zhuǎn)為numeric才能繼續(xù)進(jìn)行分析,如果直接進(jìn)行 hist(data),則報錯,“Error in hist.default(data) : 'x'必需為數(shù)值”
2.使用unlist()將list轉(zhuǎn)換為numeric
data = unlist(data) V11 V12 V13 V14 V15 V16 V17 V18 V19 V110 V111 V112 V113 V114 V115 V116 V117 V118 V119 V120 V121 V122 91 79 91 84 85 91 92 76 96 93 90 93 76 87 89 98 82 89 91 87 87 90 V123 V124 V125 V126 V127 V128 V129 V130 V131 V132 V133 V134 V135 V136 V137 V138 V139 V140 V141 V142 V143 V144 89 83 96 87 97 88 92 96 89 87 86 95 89 91 94 89 89 91 84 88 90 80 V145 V146 V147 V148 V149 V150 V151 V152 V153 V154 V155 V156 V157 V158 V159 V160 V161 V162 V163 V164 V165 88 86 92 82 91 89 90 85 89 88 89 85 89 86 82 91 96 87 90 91 89
檢查data的數(shù)據(jù)類型
mode(data) [1] "numeric"
3. 對轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行可視化
hist(data)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。如有錯誤或未考慮完全的地方,望不吝賜教。
原文鏈接:https://blog.csdn.net/faith_mo_blog/article/details/50732723