假设我有 5 个数据库,名为data1- data5。我基本上想创建一个打印前 10 行数据的循环。在我天真的想法中,代码应该是这样的:
for (i in 1:5){
print(head(data[i]))
}
那是行不通的。这样做的正确方法是什么?如何定义[i]不同数据库的“索引”变量?
假设我有 5 个数据库,名为data1- data5。我基本上想创建一个打印前 10 行数据的循环。在我天真的想法中,代码应该是这样的:
for (i in 1:5){
print(head(data[i]))
}
那是行不通的。这样做的正确方法是什么?如何定义[i]不同数据库的“索引”变量?
最好将这些对象放在一个列表中并[[用来引用它们。但是,如果您必须为对象使用单独的名称,那么您需要解析它们并评估结果表达式。
这是您可以效仿的示例。为简洁起见,它打印数字对象的值而不是“数据库”的头部。
data1 <- 1; data2 <- 2; data3 <- 3
for (i in 1:3) {
print(eval(parse(text=paste0("data", i))))
}
另一种方法是使用get函数:
for (i in 1:5){
tmp <- get(paste0("data", i))
## Assigns the data to the variable tmp - just like tmp <- data1/data2/data3 etc
print(head(tmp))
}