[R] Difficulty importing data from PARI/GP
I'm trying to import a matrix created in PARI/GP into R but am having problems. The data in the text file has entries separated by commas but the rows themselves are separated by semicolons rathen than being on a new line. Is there a way to get R to recognise that ; means start a new row ? -- View this message in context: http://r.789695.n4.nabble.com/Difficulty-importing-data-from-PARI-GP-tp4653736.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Difficulty importing data from PARI/GP
One way is to use 'readLines' to read in the file, change the ';' to '\n', write the file out and then read it back in: x - readChar('/temp/test.txt', 1e6) print(x) [1] 1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6\r\n x - gsub(';', '\n', x) writeChar(x, '/temp/testNew.txt') # now read in the data x.df - read.table('/temp/testNew.txt', sep = ',') x.df V1 V2 V3 V4 V5 V6 1 1 2 3 4 5 6 2 1 2 3 4 5 6 3 1 2 3 4 5 6 4 1 2 3 4 5 6 5 1 2 3 4 5 6 6 1 2 3 4 5 6 7 1 2 3 4 5 6 8 1 2 3 4 5 6 9 1 2 3 4 5 6 10 1 2 3 4 5 6 11 1 2 3 4 5 6 12 1 2 3 4 5 6 On Fri, Dec 21, 2012 at 12:39 PM, murfs jm9...@my.bristol.ac.uk wrote: I'm trying to import a matrix created in PARI/GP into R but am having problems. The data in the text file has entries separated by commas but the rows themselves are separated by semicolons rathen than being on a new line. Is there a way to get R to recognise that ; means start a new row ? -- View this message in context: http://r.789695.n4.nabble.com/Difficulty-importing-data-from-PARI-GP-tp4653736.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Difficulty importing data from PARI/GP
By the way, you can leave out the write-to-file step, as read.table's text= argument does the equivalent. E.g., x - 1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6\r\n p - read.table(text=gsub(;,\n,x),sep=,) str(p) 'data.frame': 12 obs. of 6 variables: $ V1: int 1 1 1 1 1 1 1 1 1 1 ... $ V2: int 2 2 2 2 2 2 2 2 2 2 ... $ V3: int 3 3 3 3 3 3 3 3 3 3 ... $ V4: int 4 4 4 4 4 4 4 4 4 4 ... $ V5: int 5 5 5 5 5 5 5 5 5 5 ... $ V6: int 6 6 6 6 6 6 6 6 6 6 ... Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com -Original Message- From: r-help-boun...@r-project.org [mailto:r-help-boun...@r-project.org] On Behalf Of jim holtman Sent: Friday, December 21, 2012 12:51 PM To: murfs Cc: r-help@r-project.org Subject: Re: [R] Difficulty importing data from PARI/GP One way is to use 'readLines' to read in the file, change the ';' to '\n', write the file out and then read it back in: x - readChar('/temp/test.txt', 1e6) print(x) [1] 1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4, 5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6;1,2,3,4,5,6\r\n x - gsub(';', '\n', x) writeChar(x, '/temp/testNew.txt') # now read in the data x.df - read.table('/temp/testNew.txt', sep = ',') x.df V1 V2 V3 V4 V5 V6 1 1 2 3 4 5 6 2 1 2 3 4 5 6 3 1 2 3 4 5 6 4 1 2 3 4 5 6 5 1 2 3 4 5 6 6 1 2 3 4 5 6 7 1 2 3 4 5 6 8 1 2 3 4 5 6 9 1 2 3 4 5 6 10 1 2 3 4 5 6 11 1 2 3 4 5 6 12 1 2 3 4 5 6 On Fri, Dec 21, 2012 at 12:39 PM, murfs jm9...@my.bristol.ac.uk wrote: I'm trying to import a matrix created in PARI/GP into R but am having problems. The data in the text file has entries separated by commas but the rows themselves are separated by semicolons rathen than being on a new line. Is there a way to get R to recognise that ; means start a new row ? -- View this message in context: http://r.789695.n4.nabble.com/Difficulty-importing- data-from-PARI-GP-tp4653736.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? Tell me what you want to do, not how you want to do it. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Re: [R] Difficulty importing data from PARI/GP
HI, May be this helps: Lines1-15,30,45;20,45,39;60,49,32;48,59,63 res1-read.table(text=unlist(strsplit(Lines1,split=;)),sep=,) str(res1) #'data.frame': 4 obs. of 3 variables: # $ V1: int 15 20 60 48 # $ V2: int 30 45 49 59 # $ V3: int 45 39 32 63 #or res2-read.table(text=gsub(;,\n,Lines1),sep=,,stringsAsFactors=FALSE) res2 # V1 V2 V3 #1 15 30 45 #2 20 45 39 #3 60 49 32 #4 48 59 63 identical(res1,res2) #[1] TRUE A.K. - Original Message - From: murfs jm9...@my.bristol.ac.uk To: r-help@r-project.org Cc: Sent: Friday, December 21, 2012 12:39 PM Subject: [R] Difficulty importing data from PARI/GP I'm trying to import a matrix created in PARI/GP into R but am having problems. The data in the text file has entries separated by commas but the rows themselves are separated by semicolons rathen than being on a new line. Is there a way to get R to recognise that ; means start a new row ? -- View this message in context: http://r.789695.n4.nabble.com/Difficulty-importing-data-from-PARI-GP-tp4653736.html Sent from the R help mailing list archive at Nabble.com. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. __ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.