我有一系列名为Natalidad[i]
的.cvs文件,其中[i]
是1996到2020年的数据年份。我想让I循环来加载它们中的每一个。我已经尝试了下一段代码,但它正在工作。
for (i in 1996:2020) {
nacimientos[i] <- read.csv("Natalidad [i]_p.csv", header = TRUE, sep = ";")
}
我也尝试过不使用[]
,而用()
代替。我的问题可能很基本。我不熟悉R中的循环,所以我可能遗漏了一些重要的东西。
发布于 2021-09-30 10:16:27
如果在R中执行此操作,则必须首先粘贴文件名的字符串。R字符串中不能有变量。例如,paste0("first part", i, "second part")
,其中i是变量。
试一试
for (i in 1996:2020) {
nacimientos[i] <- read.csv(paste0("Natalidad ", [i], "_p.csv"), header = TRUE, sep = ";")
}
发布于 2021-09-27 08:35:52
由于您最初将问题标记为Python,因此可以按如下方式完成:
import pandas as pd
nacimientos = [pd.read_csv(f"Natalidad [{year}]_p.csv", sep=";") for year in range(1996, 2021)]
这将创建一个数据帧列表,第一个数据帧是1996年的数据帧。它使用Python的“列表理解”来构建列表。
这相当于:
nacimientos = []
for year in range(1996, 2021):
df = pd.read_csv(f"Natalidad [{year}]_p.csv", sep=";")
nacimientos.append(df)
https://stackoverflow.com/questions/69341541
复制相似问题