我是一名新程序员,我一直坚持创建一个函数或循环来避免重复这些行。
以下是我的代码的一部分:
# Importing dataframes
R1 <- read.table("C:/Users/Data1.txt", header = TRUE)
R2 <- read.table("C:/Users/Data2.txt", header = TRUE)
R3 <- read.table("C:/Users/Data3.txt", header = TRUE)
# Taking only the colunms that I need from each dataframe
R1_dados <- R1[,c(1,8,11,14,24)]
R2_dados <- R2[,c(1,8,11,14,24)]
R3_dados <- R3[,c(1,8,11,14,24)]
# Adding some colunms
R1_dados$E <- c(0,100,200,300,400,500,600)
R2_dados$E <- c(0,100,200,300,400,500,600)
R3_dados$E <- c(0,100,200,300,400,500,600)
# Doing some math between columns from each dataframe
R1_dados$rETR = R1_dados$fvfm*R1_dados$E
R2_dados$rETR = R2_dados$fvfm*R2_dados$E
R3_dados$rETR = R3_dados$fvfm*R3_dados$E
# and so on...
我想知道我是否可以创建副本的索引(R1,R2和R3)
如果有人帮助我,我将感激不尽。谢谢!
答案 0 :(得分:1)
你应该循环一个文件列表。
fileList <- c("Data1", "Data2", "Data3")
for (file in fileList){
R <- read.table(paste0("C:/Users/", file, ".csv"))
R_dados <- R[,c(1,8,11,14,24)]
R_dados$E <- c(0,100,200,300,400,500,600)
R_dados$rETR = R_dados$fvfm*R3_dados$E
write.table(R_dados, file = paste0("C:/Users/", file, "_dados.csv"))
}