0

我想根据i. 我有 1996 年到 2020 年的数据集,都称为年份Natalidad i_p.csv在哪里i。他们每个人都有变量anomes。我想用这两个变量为每年创建一个矩阵并命名它们matrix_ii年份在哪里)。我已经尝试了带有和不带有该assign功能的下一个代码,但它不起作用。

for (i in 1996:2020) { 
nacimientos <- read.csv(paste0("C:/Users/.../Natalidad ", i, "_p.csv"), header = TRUE, sep = ";")
assign(paste0("matrix", i), i) <- melt(table(nacimientos$ano, nacimientos$mes))
}
4

1 回答 1

0

我们可以使用 为对象分配名称names()[i]<-"name"。首先,创建一个要填充的输出对象。然后用你的循环填充它。

    output<-vector('list', length(1996:2020))
    for (i in as.character(1996:2020)) { 
    nacimientos <- read.csv(paste0("C:/Users/.../Natalidad ", i, "_p.csv"), header = TRUE, sep = ";")
    output[i]<-melt(table(nacimientos$ano, nacimientos$mes))
    names(output)[i]<-paste0("matrix_", i)
    }

这将创建一个矩阵列表,其中每个元素都被命名为“matrix_i”

于 2021-10-04T20:41:50.293 回答