learn R 學(xué)習(xí)筆記(五)

列表和數(shù)據(jù)框

list() #創(chuàng)建列表
month.abb #列出12月名稱的簡寫
names() #列表元素命名
** 原子變量 遞歸變量 **
is.atomic() #測試是否屬于原子變量
is.recursive() 測試是否屬于遞歸變量

** 列表的維度和算術(shù)運算**

  • 列表沒有維度
  • 列表的長度是頂層元素的數(shù)目
  • 算術(shù)運算對列表不起作用

** 索引列表 **

  • 方括號,正或負(fù)的下標(biāo),元素名稱或邏輯索引 結(jié)果是一個列表
  • 雙方括號傳入整數(shù)或者指定該元素的名稱字符串 結(jié)果是列表的元素
  • 對于列表的命名元素,可以使用美元符號$
  • 可以通過嵌套方括號或傳入向量來訪問嵌套元素

** 向量和列表之間的轉(zhuǎn)換 **
as.list() #轉(zhuǎn)換為列表
unlist() #轉(zhuǎn)換混合列表為向量

** 組合列表 **
c() #拼接列表,拼接列表和向量,向量自動轉(zhuǎn)換為列表
cbind() rbind() #盡量不用
NULL #空的變量 創(chuàng)建列表時可能會想指定一個元素,表明它必須存在但沒有賦值。
NA 一個標(biāo)量值;
NULL 長度為零不占用任何空間
*要刪除列表中的元素,把元素設(shè)置為NULL就會刪除它 *
is.null() #測試是否為NULL值
list(NULL) #將現(xiàn)有元素設(shè)置為NULL值

** 成對列表 **
formals() #返回一個函數(shù)參數(shù)的成對列表
成對列表與列表的區(qū)別:長度為0的成對的列表為NULL,長度為0的列表是一個空列表。

** data.frame() ** #創(chuàng)建數(shù)據(jù)框

  • 數(shù)據(jù)框每列的類型可與其他列不同,但同一列的元素類型必須相同
  • 行自動編號,如果輸入的任何向量有名稱,行名稱取自第一個向量名稱,這種命名規(guī)則可以傳入row.names = NULL 覆蓋掉
  • 還可以通過給row.names傳入一個向量來為每行命名
  • 默認(rèn)情況下列名必須是唯一且有效的變量名稱,此功能可以通過參數(shù)check.names = FALSE來關(guān)閉

rownames()
colnames()
dimnames()
nrow()
ncol()
dim()

** 索引數(shù)據(jù)框 **

  • 方括號里分別對行和列使用正整數(shù)、負(fù)整數(shù)、邏輯值和字符
  • 只選擇一列,帶有正整數(shù)或名稱的雙方括號或帶有名稱的美元符號

subset() #獲取數(shù)據(jù)框子集,三個參數(shù)(數(shù)據(jù)框,行的條件邏輯向量,保留的名字向量),直接鍵入行列名稱
cbind()
rbind()
merge() #根據(jù)兩個數(shù)據(jù)框相同的列時合并,by參數(shù)指定共享列
如果數(shù)據(jù)框只包含數(shù)值,可以使用colSums colMeans rowSums
rowMeans函數(shù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容