如何访问列表中数据框的位置
How to access positions of data frames within a list
我按以下方式列出了 data.frames:
dflist <- list()
for (i in 1:24) {
name <- paste("tp",i,sep="")
assign(name, read.csv(paste(i, "c.csv", sep=""), sep = ";", header = TRUE))
dflist[[i]] <- name
}
列表如下所示:
> dflist
[[1]]
[1] "tp1"
[[2]]
[1] "tp2"
和 data.frames 这样的:
> tp1
X.. X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12
1 A 0.0463 0.0503 0.0478 0.0499 0.0501 0.0499 0.0495 0.0505 0.0491 0.0520 0.0492 0.0509
2 B 0.0503 0.0508 0.0495 0.0494 0.0498 0.0501 0.0497 0.0492 0.0496 0.0497 0.0495 0.0496
我现在如何访问我的 data.frames 的特定元素?
dflist[[1]][1,1]
不工作..
我搜索了其他答案,但不知何故,我没有得到经常建议的 'lapply' 功能。
首先不要使用 assign
。如果你这样做,你将需要 get
.
get(dflist[[1]])[1, 1]
这充其量是丑陋的。并且你将有24个df在全局环境中徘徊供你处理。
更好的方法是使用 lapply
并将它们全部存储在您的 dflist
中,而不仅仅是他们的名字。
dflist <- lapply(1:24, function(i){
read.csv(paste(i, "c.csv", sep=""), sep = ";")
})
names(dflist) <- paste("tp", 1:24, sep="")
dflist$tp1[1, 1]
此外,您有 sep = ";"
是因为它来自小数点标记为逗号的国家吗?如果是这样,您可以使用其他版本的函数来读取数据,read.csv2
。您不必手动设置它。 (他们都假定 header = TRUE
作为默认值。)
我按以下方式列出了 data.frames:
dflist <- list()
for (i in 1:24) {
name <- paste("tp",i,sep="")
assign(name, read.csv(paste(i, "c.csv", sep=""), sep = ";", header = TRUE))
dflist[[i]] <- name
}
列表如下所示:
> dflist
[[1]]
[1] "tp1"
[[2]]
[1] "tp2"
和 data.frames 这样的:
> tp1
X.. X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12
1 A 0.0463 0.0503 0.0478 0.0499 0.0501 0.0499 0.0495 0.0505 0.0491 0.0520 0.0492 0.0509
2 B 0.0503 0.0508 0.0495 0.0494 0.0498 0.0501 0.0497 0.0492 0.0496 0.0497 0.0495 0.0496
我现在如何访问我的 data.frames 的特定元素?
dflist[[1]][1,1]
不工作.. 我搜索了其他答案,但不知何故,我没有得到经常建议的 'lapply' 功能。
首先不要使用 assign
。如果你这样做,你将需要 get
.
get(dflist[[1]])[1, 1]
这充其量是丑陋的。并且你将有24个df在全局环境中徘徊供你处理。
更好的方法是使用 lapply
并将它们全部存储在您的 dflist
中,而不仅仅是他们的名字。
dflist <- lapply(1:24, function(i){
read.csv(paste(i, "c.csv", sep=""), sep = ";")
})
names(dflist) <- paste("tp", 1:24, sep="")
dflist$tp1[1, 1]
此外,您有 sep = ";"
是因为它来自小数点标记为逗号的国家吗?如果是这样,您可以使用其他版本的函数来读取数据,read.csv2
。您不必手动设置它。 (他们都假定 header = TRUE
作为默认值。)