编写函数:用R软件创建数据处理函数

Writing functions: Creating data processing functions with R software

"R" 用户您好!

请抽出一些时间帮助我使用关于 "Data processing function" 的 "R" 软件(初学者),其中我有三 (3) 个不同的 .csv 文件,名为 [=24] =] 根据下图,每个年份都有相同的 6 列:Problem 并开始输入命令:

filenames=list.files() 
library(plyr) 
install.packages("plyr") 
import.list=adply(filenames,1,read.csv)

尽管我真的很想总结来自三个源 (csv) 的所有调用。任何形式的帮助将不胜感激。谢谢你的帮助!

如果您想将 read.csv 的结果汇总为一个 data.frame,您可以对 do.callrbind 使用以下方法,前提是 csv 文件具有相同数量的列。下面的代码从项目主目录中获取所有 csv 文件(列数应该相同)并连接成一个 data.frame:

# simulation of 3 data.frames with 6 columns and 10 rows
df1 <- as.data.frame(matrix(1:(10 * 6), ncol = 6))
df2 <- df1 * 2
df3 <- df1 * 3

write.csv(df1, "X2012.csv")
write.csv(df2, "X2013.csv")
write.csv(df3, "X2014.csv")


# Load all csv files from home directory
filenames <- list.files(".", pattern = "csv$")

import.list<- lapply(filenames, read.csv)

# concatenate list of data.frames into one data.frame
df_res <- do.call(rbind, import.list)
str(df_res)

输出是一个有 6 列和 30 行的 data.frame

'data.frame':   30 obs. of  7 variables:
 $ X : int  1 2 3 4 5 6 7 8 9 10 ...
 $ V1: int  1 2 3 4 5 6 7 8 9 10 ...
 $ V2: int  11 12 13 14 15 16 17 18 19 20 ...
 $ V3: int  21 22 23 24 25 26 27 28 29 30 ...
 $ V4: int  31 32 33 34 35 36 37 38 39 40 ...
 $ V5: int  41 42 43 44 45 46 47 48 49 50 ...
 $ V6: int  51 52 53 54 55 56 57 58 59 60 ...