Skip to content

how to separate stuck row elements?

5 messages · Jaime Otero Villar, Rui Barradas, Berend Hasselman +1 more

#
Hi,

I was wondering if it's possible to separate elements in multiple rows  
that actually should appear in different columns. I have a file where  
in certain lines there are elements not separated, and they certainly  
should appear in different columns (an example of the file is  
attached). The point is that I do not want to manually add a space in  
the txt file, however, I did not manage to do it automatically in R...

Thanks in advance for any insight.

Jaime


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: test.txt
URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20121130/1309566d/attachment.txt>
-------------- next part --------------
#
On 30-11-2012, at 13:55, Jaime Otero Villar wrote:

            
Taking into account your description simulate file.
Use readLines to read the file into a vector of lines.
Use gsub() to replace each - with a single space.
Finally use read.table to get a dataframe.


# use the example consisting of 3 lines
data.text <- "-100 -100-3456-3456-3456-100 -100
23 -3456-3456-189 34 56 78
-100 34 56 21 44 65 78"

x.lines <- readLines(textConnection(data.text))
x.lines

# replace - with single space 
 
x.1 <- gsub("-"," ",x.lines)
x.1

read.table(text=x.1, header=FALSE) 

Berend
#
Hi,
Try this:
Lines<-"-100 -100-3456-3456-3456-100 -100
23 -3456-3456-189 34 56 78
-100 34 56 21 44 65 78
"
res<-unlist(strsplit(gsub("\\-"," -",Lines),"\n"))
res1<-do.call(rbind,lapply(lapply(split(res,seq_along(res)),function(x) unlist(strsplit(x," "))),function(x) as.numeric(x[x!=""])))
?res1
##? [,1]? [,2]? [,3]? [,4]? [,5] [,6] [,7]
#1 -100? -100 -3456 -3456 -3456 -100 -100
#2?? 23 -3456 -3456? -189??? 34?? 56?? 78
#3 -100??? 34??? 56??? 21??? 44?? 65?? 78

?res2<-data.frame(res1)
A.K.



----- Original Message -----
From: Jaime Otero Villar <j.o.villar at bio.uio.no>
To: r-help at r-project.org
Cc: 
Sent: Friday, November 30, 2012 7:55 AM
Subject: [R] how to separate stuck row elements?

Hi,

I was wondering if it's possible to separate elements in multiple rows that actually should appear in different columns. I have a file where in certain lines there are elements not separated, and they certainly should appear in different columns (an example of the file is attached). The point is that I do not want to manually add a space in the txt file, however, I did not manage to do it automatically in R...

Thanks in advance for any insight.

Jaime





______________________________________________
R-help at 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.
#
Hi,
You could also try this:
Lines<-"-100 -100-3456-3456-3456-100 -100
23 -3456-3456-189 34 56 78
-100 34 56 21 44 65 78"
Lines1<-readLines(textConnection(Lines))
?res1<-unlist(strsplit(gsub("[-]"," -",Lines2)," "))
?matrix(as.numeric(res1[res1!=""]),nrow=length(Lines1),byrow=TRUE)
??? [,1]? [,2]? [,3]? [,4]? [,5] [,6] [,7]
#[1,] -100? -100 -3456 -3456 -3456 -100 -100
#[2,]?? 23 -3456 -3456? -189??? 34?? 56?? 78
#[3,] -100??? 34??? 56??? 21??? 44?? 65?? 78


A.K.

----- Original Message -----
From: Jaime Otero Villar <j.o.villar at bio.uio.no>
To: r-help at r-project.org
Cc: 
Sent: Friday, November 30, 2012 7:55 AM
Subject: [R] how to separate stuck row elements?

Hi,

I was wondering if it's possible to separate elements in multiple rows that actually should appear in different columns. I have a file where in certain lines there are elements not separated, and they certainly should appear in different columns (an example of the file is attached). The point is that I do not want to manually add a space in the txt file, however, I did not manage to do it automatically in R...

Thanks in advance for any insight.

Jaime





______________________________________________
R-help at 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.