从ls(pattern =“”)[R]列出一个列表

时间:2014-06-13 16:55:03

标签: r

ls(pattern="")函数对我来说非常有用,因为我的对象列表似乎在不断增长和发展。我很好奇这个功能是否更有用。

例如,假设我有4个对象,

a.c<-1
b.c<-2
c.c<-3
d.c<-4

现在我使用有用的ls(pattern="")函数

ls(pattern=".c")

现在我尝试制作一个清单

list(ls(patter=".c"))

但它并没有给我任何有用的东西("a.c" "b.c" "c.c" "d.c")。我想要这两个输出中的任何一个

1,2,3,4

OR

a.c, b.c, c.c, d.c

1 个答案:

答案 0 :(得分:6)

有几个问题:

1).中的".c"被忽略,你需要&#34;逃避&#34;它:

ls(pattern="\\.c")

否则,无论是否有句号,它都会返回c的所有对象。

2)ls将对象的名称作为字符返回。要根据名称获取对象的值,您需要函数get

lapply(ls(pattern="\\.c"), get)

3)正如评论中提到的joran,在列表中保持彼此关联的对象要好得多:

List.c = list(a.c=1, b.c=2, c.c=3, d.c=4)