R 使用数据帧的长度将列表子集为lappy

R 使用数据帧的长度将列表子集为lappy,r,list,data.table,lapply,R,List,Data.table,Lapply,我的数据如下: library(data.table) df <- fread( "A B C D E F iso year 0 A NA 1 NA NA NLD 2009 1 Y NA 2 NA NA NLD 2009 0 Q NA 3 NA NA AUS 2011 1 NA NA 4 NA NA AUS 2011

我的数据如下:

library(data.table)   
df <- fread(
    "A   B  C  D  E  F  iso   year   
     0   A   NA  1  NA  NA  NLD   2009   
     1   Y   NA  2  NA  NA  NLD   2009   
     0   Q   NA  3  NA  NA  AUS   2011   
     1   NA  NA  4  NA  NA  AUS   2011   
     0   0   NA  7  NA  NA  NLD   2008   
     1   1   NA  1  NA  NA  NLD   2008   
     0   1   NA  3  NA  NA  AUS   2012   
     0   NA  1   NA  1  NA  ECU   2009   
     1   NA  0   NA  2  0   ECU   2009   
     0   NA  0   NA  3  0   BRA   2011   
     1   NA  0   NA  4  0   BRA   2011   
     0   NA  1   NA  7  NA  ECU   2008   
     1   NA  0   NA  1  0   ECU   2008   
     0   NA  0   NA  3  2   BRA   2012   
     1   NA  0   NA  4  NA  BRA   2012",
   header = TRUE
)

# Creates a list of dataframes
df_iso <- split(df, df$iso) # Creates a list of dataframes
但是我现在仍然想知道我打算做什么的正确语法。

为什么不简单地:

lappy(df_iso,函数(x){x[2:nrow(x),]})
#澳元
#国际标准化组织年
#1:1不适用于2011年4不适用于澳大利亚
#2012年2:01不适用3不适用澳大利亚
# 
#$BRA
#国际标准化组织年
#1:10 NA 40胸罩2011
#2012年2:0 NA 3 2胸罩
#2012年3:10北美4北美文胸
# 
#$ECU
#国际标准化组织年
#1:10 NA 20 ECU 2009
#2:01不适用7不适用ECU 2008
#3:10 NA 10 ECU 2008
# 
#$NLD
#国际标准化组织年
#1:1 Y NA 2 NA全国民主联盟2009
#2008年全国民主联盟2:0不适用7不适用
#3:1NA 1NA全国民主联盟2008
Map(函数(x,y)x[2:y],df_iso,sappy(df_iso,nrow))
subset <- as.vector(lapply(df_iso, '[', 2:3, ))
subset<- as.vector(lapply(df_iso, '[', 2:nrow(df_iso[[i]][,1]), ))
subset <- as.vector(lapply(df_iso, '[', -c(1), ))