在R語言中,向量、矩陣和數組的元素要求必須是同一類型的數據。在使用過程中,可能一個數據對象需要保存不同類型的數據,則可以使用列表(list)來實現。
列表是對象的集合,可以包含向量、矩陣、數組,數據框,甚至是另外一個列表,且在列表中要求每一個成分都要有一個名稱。
列表中的對象又稱為它的分量(components)。
1、創建列表
在R語言中可以使用list()函數來創建列表,其語法格式為:
list(name1=object1, name2 = object2,...)
下面舉幾個例子來說明R語言中創建列表的方法:
list1 <- list(studentName=c("小明","小花","小芳","小剛"),major=c("信息管理","財務管理","材料成型"), score=matrix(c(80,90,75,85,92,83,73,70,69,88,81,89),nrow=3))
2、列表的索引
在R語言中, 訪問列表中的元素可以使用雙重方括號來指明成分或使用成分的名稱及位置來訪問。
list1[1] #訪問列表中的第1個成分,使用這種方法,返回的結果仍為一個列表
list1[[1]] #訪問列表中的第1個成分的元素值,這次僅是元素值,是向量,不再是列表
list1[1:2] #訪問列表中的第1個到第2個成分
list1[-1] #排除第一個成分
執行結果情況課如下:
list1$studentName #訪問成分名稱為studentName的元素值
list1["major"] #訪問成分名稱為major的成分,其結果仍為一個列表
list1[["major"]] #訪問成分名稱為major的元素值
list1[c(1,3)] #訪問給定的第1和第3個成分
本部分的執行結果如下:
list1[[1]][1] #訪問第一個成分中的第一個值
list1$studentName[1] #訪問第一個成分中的第一個值
list1[["studentName"]][1] #訪問第一個成分中的第一個值
本部分執行代碼如下:
3、列表的編輯
(1)修改某個成分的元素值
list1[[1]][1] = '黃曉明'
list1$studentName[2] = '王花花'
list1[["studentName"]][3] = '袁芳'
本部分代碼執行情況如下:
(2)修改某一成分的所有值
list1$major = c("信息管理","營銷管理","工商管理","會計學")
list1[[2]] = c("信息管理","營銷管理","工商管理","會計學")
(3)添加一個成分
list1$grade<-c(3, 4 ,2 ,1) #實際上,若沒有這一列就直接添加
list1<-c(list1,birth=list(c("1997-04-01","1998-10-20","1998-07-20","1999-11-20")))#新增birth成分
(4)刪除某一個成分
list1[4] = NULL
list1$grade = NULL
本部分(完)
新聞熱點
疑難解答