私は、複数の(〜80).csvファイルを共通のフォルダに置いて、特定の列をサブセット化し、 .csv。ループを使用して、複数の.csvファイルを読み込み、消去、書き込みする
setwd("C:/Data/HAAS")
### ENTER COUNTY NAME
county.name <- "charlotte"
####ENTER UNZIPPED CSV DOWNLOADED FROM ftp://sdrftp03.dor.state.fl.us/Tax%20Roll%20Data%20Files/2016%20Final%20NAL%20-%20SDF%20Files/
cnty.raw<- read.csv("C:/Data/HAAS/tax_roll_data/NAL18F201601.csv")
cnty.clean <- "" ## CREATE NEW EMPTY DATAFRAME
cnty.clean$CNTY_ID <- cnty.raw$CO_NO ## ADD COUNTY ID TO CLEAN FILE
cnty.clean$PARCEL_ID <- cnty.raw$PARCEL_ID ## ADD PARCEL ID TO CLEAN FILE
cnty.clean$ACT_BUILT <- cnty.raw$ACT_YR_BLT ## ADD ACTUAL YEAR BUILT TO CLEAN FILE
cnty.clean$FLUCCS <- cnty.raw$DOR_UC ## ADD LAND USE COLUMN
cnty.clean$HMSTD_VAL <- cnty.raw$AV_HMSTD ## USED TO DETERMINE IF PARCEL CONTAINS A HOMESTEAD
cnty.clean <- cnty.clean[cnty.clean$FLUCCS == 001, ] ## SELECT ONLY SINGLE-FAMILY RESIDENTIAL PROPERTIES
cnty.clean <- na.omit(cnty.clean) ## REMOVE NA VALUES
head(cnty.clean)
#### BEGIN WRITING CLEANED TABLES TO OUTPUT FOLDERS ##################################
setwd("C:/Data/HAAS/R_output/csv") ## CSV DESTINATION FOLDER
write.csv(cnty.clean, file = paste(county.name, ".csv", sep = "")) ## WRITE CSV TO FOLDER
setwd("C:/Data/HAAS/R_output/dbf") ## DBF DESTINATION FOLDER
library(foreign)
write.dbf(cnty.clean, file = paste(county.name, ".dbf", sep = "")) ## WRITE AS .DBF FOR SHAPEFILE MERGE
#### RESET WORKING DIRECTORY BACK TO ORIGINAL PATH
setwd("C:/Data/HAAS")
head(cnty.clean)
summary(cnty.clean)
問題を手動で毎回私はcsvファイル名とも郡名フィールドを変更てmanualyしなければならないということである私は、コードを実行したい:私は、私はそれらを一つずつを行うために使用できるスクリプトを持っていますcsvのすべてを通して。
私は単純なタスクを行うためにrを使いましたが、ループを使ってプロセスを自動化することに関しては素人です。このコードをループに挿入して、ファイルパスのフォルダ内のすべてのcsvを繰り返し実行する方法はありますか?
注:私は検索して、他の投稿でさまざまなオプションを試しましたが、私の状況にはうまくいかないようです。
は 'list.files'関数を見ています。指定したディレクトリ内のすべてのファイルが一覧表示されます。結果を変数に代入し、その変数をループすることができます。 –