43142 16

[程序分享] 如何向list中循环式添加要素 [推广有奖]

11
平军 在职认证  学生认证  发表于 2015-3-22 23:34:38
呵呵哼哼哈哈 发表于 2015-3-22 23:22
我意思是一个list中包含多个元素(均为list),而这些list元素又包含多个属性
a=vector('list',3)
a[[1]]=list(m1=1,m2='cc')
a[[2]]=lm(rt(100,2)~rnorm(100))
a[[3]]=list(n1=args(lm),n3=class('ccc'))

12
呵呵哼哼哈哈 发表于 2015-3-23 08:34:19
平军 发表于 2015-3-22 23:34
a=vector('list',3)
a[[1]]=list(m1=1,m2='cc')
a[[2]]=lm(rt(100,2)~rnorm(100))
嗯,谢谢啦~~就是说必须提前指定元素个数是吧?

13
平军 在职认证  学生认证  发表于 2015-3-23 09:32:45
呵呵哼哼哈哈 发表于 2015-3-23 08:34
嗯,谢谢啦~~就是说必须提前指定元素个数是吧?
是的,最好先指定一下,是不是必须的,不能确定

14
biohuang 发表于 2015-3-23 09:39:24
呵呵哼哼哈哈 发表于 2015-3-23 08:34
嗯,谢谢啦~~就是说必须提前指定元素个数是吧?
没这个说法吧,R的所有数据结构都是动态的,只是修改时要用适当的语法。比如
  1. l <- list()
  2. l[[1]] <- list(a=1,b=2)
  3. l[[2]] <- list(D=1,E=2)
  4. #l[[3]][[1]] <- list(a=1,b=2)
  5. l[[1]][[3]] <- list(a=1,b=2)
复制代码
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

15
呵呵哼哼哈哈 发表于 2015-3-23 09:45:54
biohuang 发表于 2015-3-23 09:39
没这个说法吧,R的所有数据结构都是动态的,只是修改时要用适当的语法。比如
嗯~~多谢了~~在问一句,a<-list()和a<-vector("list",5)这两种有什么区别嘛?

16
biohuang 发表于 2015-3-23 13:08:56
呵呵哼哼哈哈 发表于 2015-3-23 09:45
嗯~~多谢了~~在问一句,a
我认为没区别。list()和vector("list",0)都返回空列表。

其他情况,如果列表长度已知,内容未定,那用vector();如果列表内容已定,同时要初始化,那用list()。

17
ccc45688123 发表于 2016-5-30 09:33:08
a = list(aa=1,bb=2,cc=3)
b = list(aa=1,bb=2,cc=3)
c = list(aa=1,bb=2,cc=3)

x = list()
x = c(x,list(a))
x = c(x,list(b))
x = c(x,list(c))

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 09:21