简体   繁体   English

如何在r中重复数据帧的顺序

[英]how to repeat order for dataframe in r

I want to do same order as removing the first rows for several dataframes.我想做与删除几个数据帧的第一行相同的顺序。

lab1 <- lab1[-c(1),]
lab2 <- lab2[-c(1),]
lab3 <- lab3[-c(1),]
lab4 <- lab4[-c(1),]
lab5 <- lab5[-c(1),]
lab6 <- lab6[-c(1),]
lab7 <- lab7[-c(1),]
lab8 <- lab8[-c(1),]
lab9 <- lab9[-c(1),]
lab10 <- lab10[-c(1),]
...

I want to use repeated phase like this.我想使用这样的重复阶段。

for(i in 2:19){ labi <- labi[-c(1),]}

However, labi is recognized as a dataframe name.但是,labi 被识别为数据框名称。 I need to do such orders for many dataframes.我需要为许多数据帧执行这样的命令。 Can someone help?有人可以帮忙吗?

How do you create the dataframes?你如何创建数据框? Is it possible instead to make a list of lab[[i]] ?是否可以列出lab[[i]]

Else, you can write the expression as a string then evaluate it, but it's a bit of a hacky way, it would be better to avoid it:否则,您可以将表达式编写为字符串然后对其进行评估,但这有点笨拙,最好避免使用它:

cmd <- paste0("lab", 1, "[c(-1),]")
eval(str2expression(cmd))

Thank you!谢谢! I make dataframes from excel files.我从 excel 文件制作数据框。

lab1 <- readxl::read_excel(path="001.xlsx", sheet="sheet1", col_names=FALSE)
lab2 <- readxl::read_excel(path="002.xlsx", sheet="sheet1", col_names=FALSE)

I have an error for making lab[[1]] .我在制作lab[[1]]出错。 I think I need an emtpy dataframe.我想我需要一个空的数据框。 Each file has different number of rows.每个文件都有不同的行数。 But, same name of columns.但是,列的名称相同。 How can I make the dataframe for this case?我怎样才能为这种情况制作数据框?

Maybe you can try list2env like below也许您可以尝试如下所示的list2env

list2env(
  lapply(mget(ls(pattern = "lab\\d+")), function(x) x[-1, ]),
  envir = .GlobalEnv
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM