[英]How do I read multiple csv files into R and ensure that all columns are the same data?
[英]How do I run the same code for multiple .csv files with a for loop in R?
我編寫了一個代碼來過濾、分組和排序我的大數據文件。 我有多個文本文件需要分析。 我知道我可以復制代碼並使用新數據運行它,但我想知道是否有一種方法可以將其放入 for 循環中,以便一個一個地打開文本文件並運行並存儲結果。 我使用以下內容加載我的所有文本文件。 在接下來的步驟中,我選擇列並過濾它們以找到所需的值。 但目前它只讀取一個文件。 我想從所有數據文件中獲取結果。
Samples <- Sys.glob("*.csv")
for (filename in Samples) {
try <- read.csv(filename, sep = ",", header = FALSE)
shear <- data.frame(try[,5],try[,8],try[,12])
lane <- shear[which(shear$Load == "LL-1"),]
Ext <- subset(lane, Girder %in% c("Left Ext","Right Ext"))
Max.Ext <- max(Ext$Shear)
}
您可以將要應用於每個文件的所有內容放在一個函數中:
apply_fun <- function(filename) {
try <- read.csv(filename, sep = ",", header = FALSE)
shear <- data.frame(try[,5],try[,8],try[,12])
lane <- shear[which(shear$Load == "LL-1"),]
Ext <- subset(lane, Girder %in% c("Left Ext","Right Ext"))
return(max(Ext$Shear, na.rm = TRUE))
}
在這里似乎我們只需要每個文件的一個數字( max
),我們可以使用sapply
將函數應用於每個文件。
Samples <- Sys.glob("*.csv")
sapply(Samples, apply_fun)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.