フォルダ内のすべてのcsvファイル(同じ構造)に同じ関数を適用しようとしています - '古い'列に基づいて2つの新しい列を追加し、 csvと同じフォルダに同じ名前で保存します。簡単では、いくつかの例がほとんどlapply使用して、ことを行うためにここに存在しなければならない、しかし、私はエラーに実行し続ける:R:フォルダ内の複数のファイルに列を追加して保存する
Error in `$<-.data.frame`(`*tmp*`, "LAT", value = numeric(0)) : replacement has 0 rows, data has 3
これは私のコードです:
my_files <- list.files(path="C:/PATH", pattern=".csv", full.names=T, recursive=FALSE)
add_col <- function(my_files) {
mpa <- read.csv(my_files, header=T)
mpa$LAT <- mpa$lat_bin + 0.05
mpa$LON <- mpa$lon_bin + 0.05
return(mpa)
write.csv(mpa,
append = FALSE,
quote = FALSE,
sep = ",",
row.names = FALSE,
col.names = TRUE)
}
私は最善の方法がわかりませんよ大量のファイルに対してはこれを行う必要があります。ファイル
Df1 <- data.frame(lat_bin = c(50,40,70,6,8,4),lon_bin = (c(1,5,2,4,9,11)))
Df2 <- data.frame(lat_bin = c(66, 77, 82, 65, 88, 43),lon_bin = (c(2,3,4,5,11,51)))
Df3 <- data.frame(lat_bin = c(43,46,55,67,1,11),lon_bin = (c(7,6,5,9,11,15)))
write.csv(Df1, "data_1.csv", row.names=F)
write.csv(Df2, "data_2.csv", row.names=F)
write.csv(Df3, "data_3.csv", row.names=F)
ファイルの例を投稿できますか? – RobertMc
また、タスクに使用するコードを追加してください。この種のエラーはそれ自体ではあまり役に立ちません。 –
あなたの 'lapply'呼び出しはどこですか?それだけでは、投稿されたコードは何もしてはいけません。 – Parfait