Problemet
Hur ser funktionen RxTextData för att använda den ' |' som avgränsare eller andra tecken?
Lösning
Du måste ange avgränsaren med argumentet columnDelimiters om textdata inte är åtskilda med kommatecken eller tabbar. (Detta är inte egentligen ett argument rxImport, men den underliggande RxTextData datakällobjektet.) Det här argumentet i normal användning är ett enda tecken, till exempel columnDelimiters = "\t" för tabbavgränsade data eller columnDelimiters = "," för kommaavgränsade data. Varje kolumn får dock avgränsas av olika karaktär. alla avgränsare måste tillsammans sammanfogas till en enda teckensträng. Till exempel, om du har en kolumn som avgränsas av ett kommatecken, en sekund av ett plustecken och en tredje med en ny rad, skulle du använda argumentet columnDelimiters = ", + \n".
ID: t | val
1 | en
2 | b
Så för ovanstående data hur åtgärdar jag det under kod att tänka ' |' 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). för att kunna läsa 'pipe'-avgränsade data måste du ange alternativet "avgränsare =" | "' i RxTextData()-anrop:
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")