R 如何获取列表的长度或列表中的目标

R 如何获取列表的长度或列表中的目标,r,list,R,List,如何获取我的列表“我的数据”的列表长度(或obs?)。看起来是这样的: 示例列表可以使用 list(pk24_1.CSV = c("pk24_1.CSV", "pk24_2.CSV", "pk4.CSV", "pk6_1.CSV", "pk6_2.CSV", "pk6_3.CSV", "pkc.CSV", "pkc1.CSV"), p

如何获取我的列表“我的数据”的列表长度(或obs?)。看起来是这样的:

示例列表可以使用

list(pk24_1.CSV = c("pk24_1.CSV", "pk24_2.CSV", "pk4.CSV", "pk6_1.CSV", 
"pk6_2.CSV", "pk6_3.CSV", "pkc.CSV", "pkc1.CSV"), pk24_2.CSV = c("pk24_1.CSV", 
"pk24_2.CSV", "pk4.CSV", "pk6_1.CSV", "pk6_2.CSV", "pk6_3.CSV", 
"pkc.CSV", "pkc1.CSV"), pk4.CSV = c("pk24_1.CSV", "pk24_2.CSV", 
"pk4.CSV", "pk6_1.CSV", "pk6_2.CSV", "pk6_3.CSV", "pkc.CSV", 
"pkc1.CSV"), pk6_1.CSV = c("pk24_1.CSV", "pk24_2.CSV", "pk4.CSV", 
"pk6_1.CSV", "pk6_2.CSV", "pk6_3.CSV", "pkc.CSV", "pkc1.CSV"), 
    pk6_2.CSV = c("pk24_1.CSV", "pk24_2.CSV", "pk4.CSV", "pk6_1.CSV", 
    "pk6_2.CSV", "pk6_3.CSV", "pkc.CSV", "pkc1.CSV"), pk6_3.CSV = c("pk24_1.CSV", 
    "pk24_2.CSV", "pk4.CSV", "pk6_1.CSV", "pk6_2.CSV", "pk6_3.CSV", 
    "pkc.CSV", "pkc1.CSV"), pkc.CSV = c("pk24_1.CSV", "pk24_2.CSV", 
    "pk4.CSV", "pk6_1.CSV", "pk6_2.CSV", "pk6_3.CSV", "pkc.CSV", 
    "pkc1.CSV"), cy1.CSV = c("cy1.CSV", "cy24.CSV", "cy6.CSV"
    ), cy24.CSV = c("cy1.CSV", "cy24.CSV", "cy6.CSV"), cy6.CSV = c("cy1.CSV", 
    "cy24.CSV", "cy6.CSV"), chem_1.CSV = c("chem.CSV", "chem_1.CSV"
    ), coag.CSV = c("coag.CSV", "coag1.CSV"), cont.CSV = c("cont.CSV", 
    "cont_1.CSV"), cont_1.CSV = c("cont.CSV", "cont_1.CSV"), 
    dov.CSV = c("dov.CSV", "dov_1.CSV"))
我尝试了很多方法,但都没有成功。有人能在这方面指导我吗

我试过了

lst5<- lapply(my_data,
        function(x) data.frame(Obs = length(x[[1]])
      ))
lst5像这样

lst5 = data.frame(Data = names(my_data), obs = lengths(my_data))

结果看起来像我想要的,但行名称与“数据”相同。我是R新手。因为我的_数据是一个列表,我应该使用可以逐个浏览列表的命令吗?我总是很难处理列表。@Stataq您可以传递参数
row.names=NULL
来去掉行名。行名称是旧的数据分析风格的遗留。现在,普遍的共识是永远不要使用行名。非常感谢!使用
lappy(我的数据,函数(x),…
来获得相同的结果是一种方法吗?为什么
lst5@Stataq种类:
length(lst)
基本上与
unlist(lappy(lst,length))相同
。但是您尝试在
lappy
中创建data.frame实际上不起作用-要使它起作用,您必须编写相当复杂的代码:
do.call('rbind.data.frame',lappy(my_data,function(x)data.frame(Obs=length(x))

lst5<- lapply(my_data,
        function(x) data.frame(Obs = length(x)
      ))
lst5 = data.frame(Data = names(my_data), obs = lengths(my_data))