如何以固定宽度分割文本数据并在R中指定列名?

如何以固定宽度分割文本数据并在R中指定列名?,r,csv,R,Csv,我有一个文本数据如下 数据 V2 1 12384793849384u39840598093580985309580359803958035 2 55132531453215532532523451325235324521435132523452 3 52353251253253245132444444444444553241524351243532 4 23515123532532512345214512345213551253245432542135 5 23532115124542

我有一个文本数据如下

数据
V2

 1 12384793849384u39840598093580985309580359803958035
 2 55132531453215532532523451325235324521435132523452
 3 52353251253253245132444444444444553241524351243532
 4 23515123532532512345214512345213551253245432542135
 5 23532115124542352335122222222435451435143251234542
 6 13245432543215214352152234513425234555512311235412
 7 1327r6tr87t987rt38r7t93487y32987y3287y39o8r2y9874r
我有另一个密钥文件,如下所示

密钥文件

      header                      startkey    endkey
 1    Claim Unique ID                    0     12
 2    Provider CCN Number               13     18
 3    Beneficiary Hic Number            19     29
 4    Claim Type Code                   30     31
 5    Claim From Date                   32     41
所以,现在我想提取每行的0到12个字母,并将其分配给claim unique id变量,13到18个字母分配给provider ccn number变量,并以相同的方式分配给所有变量

预期产量

  ClaimUniqueID  ProviderCCNNumber  BeneficiaryHicNumber  ClaimTypeCode ClaimFromDate
  132364748474   u74635             54673829273           87            7474747474  
  231763987435   123433             12353244513           23            1343434444  
  193274674474   143243             23342535435           23            1243213424  
尝试


数据我认为以下方法应该有效(如果没有可复制的示例,很难判断)

keyfile
 data <- read.fwf("cclf_text_file.txt",widths=10000)
 keyfile = read.csv("cclf_key_file.csv",header = T)

 fixed_length = function(input_data,key_file,output_data){
 input_data[] = Map(substr,input_data[keyfile$header],keyfile$startkey,         keyfile$endkey)
 filename = paste(deparse(substitute(output_data)), ".csv",sep="")
 write.csv(input_data,file = filename) 
 }
keyfile <- read.csv("cclf_key_file.csv",header = T)
data <- read.fwf("cclf_text_file.txt",widths=keyfile$endkey - keyfile$startkey + 1)
names(data)<-as.character(keyfile$header)