R语言学习(列表)
@R语言学习(三)
本文主要介绍R语言列表的使用。
提示:以下是本篇文章正文内容,下面案例可供参考
列表
1.创建
我们用list表示列表,是多种对象的集合,各元素类型、长度都可以不同。
创建方式:list(属性名=属性值,属性名=属性值, ……)
例如:
st1<-list(name="ya"gender=“女”,age=21,score=c(88,98,76,87))
2.读取
每一个属性都是一个分量
st1[1]:第一个分量的分分量名+内容
st1$name:name的值
st1$score[2]:score的第二个值
names(st1):列表st1中所有的分量名称
names(st1[1]):第一个分量的名称
class(st1$g):gender的类型
class(st1[4]):第四个分量的类型
注意:在读取gender的类型时使用了分量缩写(gender开头为g),这种方法只能用于字母缩写能够区分不同的分量,如果不能区分,则会返回NULL。
3.添加删除修改
1.添加分量:直接添加并赋值即可,例如:st1$ID<-“111”
2.删除分量:让想要删除的分量等于NULL,例如:st1$ID=NULL
3.修改分量值:与添加类似,直接赋值,例如:st1$gender<-“男”
4.修改分量名称:对names赋值,例如:names(st1)[2]<-age
4.例题
使用“Tom,男,19,(85,84,92,76)”和“Jane,男,18,(89,87,78,90)”
生成两个列表对象,分别求两人的平均分
将每人的平均分分别添加到 已有列表对象中
代码如下(示例):
# 使用“Tom,男,19,(85,84,92,76)”和“Jane,男,18,(89,87,78,90)”生成两个列表对象
st1<-list(name="Tom",gender="男",age=19,score=c(85,84,92,76))
st2<-list(name="Jane",gender="男",age=18,score=c(89,87,78,90))
st1
st2
# 分别求两人的平均分
avg1<-mean(st1$score)
avg1
avg2<-mean(st2$score)
avg2
# 将每人的平均分分别添加到已有列表对象中
st1$avg<-avg1
st1
st2$avg<-avg2
st2
需要注意的是,在添加分量到列表里时,不能使用分量缩写法,必须使用全称。
结果如下: