我正在尝试删除具有相同结构但名称不同(保持相似名称结构)的多个数据框的前9行。在我的示例中,有4个数据框,其名称分别为 Mydataframe_A,Mydataframe_B,Mydataframe_C,Mydataframe_D 。
当前它正在使用以下代码:
`Mydataframe_A`<- `Mydataframe_A`[-c(1:9),]
`Mydataframe_B`<- `Mydataframe_B`[-c(1:9),]
`Mydataframe_C`<- `Mydataframe_C`[-c(1:9),]
`Mydataframe_D`<- `Mydataframe_D`[-c(1:9),]
但是我想这样写,只用一行,而不必每次指定数据帧的每个名称。
我认为这可以通过使用模式名称和列表来实现,因为例如,这就是我要查找不同数据帧的方法:
All_mydataframes <- rbindlist(mget(ls(pattern = "^Mydataframe_")))
关于如何执行此操作的任何想法?
一吨!
答案 0 :(得分:1)
由于EvaluateJSONPath
将其转换为列表,因此您可以使用mget
系列功能:
apply
这将从rbindlist(lapply(mget(ls(pattern = "^Mydataframe_")), function(x) x[-c(1:9), ]))
中提取list
,并删除前9行,然后将其从列表中mget
移至rbind
。唯一的问题是您无法区分原始数据是data.table
的一部分。