R 如何下载非标准CSB文件并对其进行预处理
我对最大的P2P借贷公司LendingClub的历史数据感兴趣 这是一个非标准化的压缩CSB文件,但在Excel中打开时可以通过删除第1行、第39789-39791行和第42543-42544行轻松修复。如何在R中自动执行此操作?(如果你想帮忙,但又担心这可能是恶意链接,请先用谷歌搜索这家公司) 我尝试了以下方法:R 如何下载非标准CSB文件并对其进行预处理,r,csv,R,Csv,我对最大的P2P借贷公司LendingClub的历史数据感兴趣 这是一个非标准化的压缩CSB文件,但在Excel中打开时可以通过删除第1行、第39789-39791行和第42543-42544行轻松修复。如何在R中自动执行此操作?(如果你想帮忙,但又担心这可能是恶意链接,请先用谷歌搜索这家公司) 我尝试了以下方法: data <- read.csv(url("https://resources.lendingclub.com/LoanStats3a.csv.zip")) 您可以使用ski
data <- read.csv(url("https://resources.lendingclub.com/LoanStats3a.csv.zip"))
您可以使用
skip
跳过第一个“垃圾”行,但最后有~4个“垃圾”行,您需要处理导入后的问题:
dat <- read.csv("LoanStats3a.csv", skip=1, header=TRUE, stringsAsFactors=FALSE)
str(dat)
## 'data.frame': 42538 obs. of 96 variables:
## $ id : chr "1077501" "1077430" "1077175" "1076863" ...
## $ member_id : int 1296599 1314167 1313524 1277178 1311748 1311441 1304742 1288686 1306957 1306721 ...
## $ loan_amnt : int 5000 2500 2400 10000 3000 5000 7000 3000 5600 5375 ...
## $ funded_amnt : int 5000 2500 2400 10000 3000 5000 7000 3000 5600 5375 ...
## $ funded_amnt_inv : num 4975 2500 2400 10000 3000 ...
## $ term : chr " 36 months" " 60 months" " 36 months" " 36 months" ...
## $ int_rate : chr " 10.65%" " 15.27%" " 15.96%" " 13.49%" ...
## $ installment : num 162.9 59.8 84.3 339.3 67.8 ...
## $ grade : chr "B" "C" "C" "C" ...
## $ sub_grade : chr "B2" "C4" "C5" "C1" ...
## $ emp_title : chr "" "Ryder" "" "AIR RESOURCES BOARD" ...
## $ emp_length : chr "10+ years" "< 1 year" "10+ years" "10+ years" ...
## ... (a bunch more variables, some are all NA)
dat在导入之前,您应该清楚地知道要执行哪些步骤?你要删除哪几行?另外,假设其他人愿意下载(可能是恶意的)zip文件来帮助您可能不是一个好主意。仔细描述问题中的文件内容。@MrFlick,很好的建议,它已经被编辑过了。这不是恶意的,但是谁创建了csv文件应该被解雇。太可怕了。
dat <- read.csv("LoanStats3a.csv", skip=1, header=TRUE, stringsAsFactors=FALSE)
str(dat)
## 'data.frame': 42538 obs. of 96 variables:
## $ id : chr "1077501" "1077430" "1077175" "1076863" ...
## $ member_id : int 1296599 1314167 1313524 1277178 1311748 1311441 1304742 1288686 1306957 1306721 ...
## $ loan_amnt : int 5000 2500 2400 10000 3000 5000 7000 3000 5600 5375 ...
## $ funded_amnt : int 5000 2500 2400 10000 3000 5000 7000 3000 5600 5375 ...
## $ funded_amnt_inv : num 4975 2500 2400 10000 3000 ...
## $ term : chr " 36 months" " 60 months" " 36 months" " 36 months" ...
## $ int_rate : chr " 10.65%" " 15.27%" " 15.96%" " 13.49%" ...
## $ installment : num 162.9 59.8 84.3 339.3 67.8 ...
## $ grade : chr "B" "C" "C" "C" ...
## $ sub_grade : chr "B2" "C4" "C5" "C1" ...
## $ emp_title : chr "" "Ryder" "" "AIR RESOURCES BOARD" ...
## $ emp_length : chr "10+ years" "< 1 year" "10+ years" "10+ years" ...
## ... (a bunch more variables, some are all NA)