R 如何下载非标准CSB文件并对其进行预处理

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

我对最大的P2P借贷公司LendingClub的历史数据感兴趣

这是一个非标准化的压缩CSB文件,但在Excel中打开时可以通过删除第1行、第39789-39791行和第42543-42544行轻松修复。如何在R中自动执行此操作?(如果你想帮忙,但又担心这可能是恶意链接,请先用谷歌搜索这家公司)

我尝试了以下方法:

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)