Problemet
Hvordan finner jeg ut RxTextData-funksjonen til å bruke den ' |' som skilletegn eller andre tegn?
Løsning
Hvis tekstdataene ikke er atskilt med kommaer eller tabulatorer, må du angi skilletegn som bruker columnDelimiters-argumentet. (Dette er ikke egentlig et argument for rxImport, men det underliggende RxTextData datakildeobjektet.) Dette argumentet er i vanlig bruk, et enkelt tegn, for eksempel columnDelimiters = "\t" for tabulatordelt data eller columnDelimiters = "," for kommadelte data. Hver kolonne kan imidlertid være atskilt med et annet tegn; alle skilletegn må være kjedet sammen sammen til en enkelt tegnstreng. For eksempel, hvis du har én kolonne, atskilt av komma, en annen av et plusstegn, og en tredje som en ny linje, kan du bruke argumentet-columnDelimiters = ", + \n".
ID | val
1 | en
2 | b
Så for dataene ovenfor hvordan løser jeg det under kode til å vurdere ' |' som delimeter
hdfsFS <- RxHdfsFileSystem(hostName=”dummy ", port="dummy") txtSource <- RxTextData("directory value/ file_name in hdfs", fileSystem=hdfsFS)
airData <- rxImport(inData=txtSource, outFile = "/tmp/test.xdf",stringsAsFactors = TRUE, missingValueString = "M", rowsPerRead = 200000, overwrite=TRUE)
rxSummary(~ id+val, data = airData)
2). skal kunne lese datakanal'-data med skilletegn, må du angi alternativet ' skilletegn = "|" "i RxTextData()-kallet:
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")