> ls()
[1] "A" "anorex.1" "anorexia" "B" "byMonth" "C" "clotting"
[8] "counts" "d" "D" "d.AD" "DelayByDay" "delayed" "glm.D93"
[15] "glmout" "groups" "h" "housing" "madeup" "notdelayed" "outcome"
[22] "q19" "q22.1" "q23" "q23.1" "q25" "q25.1" "q26"
[29] "q26.2" "speed" "tmp" "treatment" "tt" "w" "wnd"
[36] "x" "y" "z"
Run Code Online (Sandbox Code Playgroud)
我想的是让我说我想知道我工作区中所有对象的类,并且想想写一个循环,这样做的效果如下:
for(x in 1:38) print(class(ls(1)[x]))
Run Code Online (Sandbox Code Playgroud)
但是这给了我作为每个对象的类的字符(如果我没有错,则是每个对象的名称类.)
我试图找出工作区,类,长度或暗淡中的对象.for循环可以实现这一点,应用函数之一是否也可以执行此操作.谢谢
你的循环只使用一个字符名称,所以R认为它只是一个字符向量.你需要获得对象本身.您可以使用mget()从字符向量中获取给定环境(列表)中的多个对象.这意味着我们可以通过它ls().然后我们可以浏览该列表并获取该类.
lapply(mget(ls()), class)
Run Code Online (Sandbox Code Playgroud)
我使用lapply()是因为一些对象完全有可能有多个类.
如果您想了解有关该对象的其他属性/信息,请编写一个函数.
f <- function(x) list(dim = dim(x), class = class(x))
lapply(mget(ls()), f)
Run Code Online (Sandbox Code Playgroud)