Problém
Jak zjistit pomocí funkce RxTextData "|" jako oddělovač nebo jiný znak?
Řešení
Textová data není oddělených čárkami nebo tabulátory, zadejte oddělovač použití argumentu columnDelimiters. (To není ve skutečnosti argument rxImport, ale na základní objekt datového zdroje RxTextData.) V normálním používání tohoto argumentu je jeden znak, například columnDelimiters = "\t" oddělený tabulátory dat nebo columnDelimiters = "," pro data oddělená čárkou. Však každý sloupec mohou být odděleny jiný znak; mezi oddělovače musí spolu zřetězeny do jednoho znaku řetězce. Například, pokud máte jeden sloupec s oddělovači čárku, druhý znak plus a třetím znakem nového řádku, použijte argument columnDelimiters = ", + \n".
ID | val 1 | 2 | b Takže pro výše uvedené údaje jak lze upravit kód, zvažte "|" jako delimeterhdfsFS <- 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). moci číst "potrubí"-s oddělovači data, musíte nastavit možnost "oddělovač =" | "" v RxTextData() volání:
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")