On 05/24/2012 05:10 PM, Soheila Khodakarim wrote:
Dear All

How can I transform 1 column to 2 columns in R?

211217_s_at

GO:0005249

211217_s_at

GO:0005251

211217_s_at

    GO:0005515

211217_s_at

GO:0015271

   211217_s_at

   GO:0030955





211217_s_at

GO:0005249

211217_s_at

GO:0005251

   211217_s_at

    GO:0005515

211217_s_at

GO:0015271

   211217_s_at

GO:0030955

Hi Soheila,
Let us begin with the assumption that your "col" is roughly what you posted, and that text resides in a file named "inscrutable.dat". Let us first read that text into a data frame in R:

inscrutatble.df<-read.table("inscrutable.dat")
 inscrutable.df
V1
1 211217_s_at
2  GO:0005249
3  211217_s_at
4   GO:0005251
5  211217_s_at
6   GO:0005515
7  211217_s_at
8   GO:0015271
9  211217_s_at
10  GO:0030955
11 211217_s_at
12  GO:0005249
13 211217_s_at
14  GO:0005251
15 211217_s_at
16  GO:0005515
17 211217_s_at
18  GO:0015271
19 211217_s_at
20  GO:0030955

Now we will further assume that you want to place every odd element in one "col" and every even element in the other "col".

inscrutable2.df<-data.frame(
 col1=inscrutable.df$V1[seq(1,length(inscrutable.df$V1),by=2)],
 col2=inscrutable.df$V1[seq(2,length(inscrutable.df$V1),by=2)])
inscrutable2.df
          col1       col2
1  211217_s_at GO:0005249
2  211217_s_at GO:0005251
3  211217_s_at GO:0005515
4  211217_s_at GO:0015271
5  211217_s_at GO:0030955
6  211217_s_at GO:0005249
7  211217_s_at GO:0005251
8  211217_s_at GO:0005515
9  211217_s_at GO:0015271
10 211217_s_at GO:0030955

There we are - easy as pie.

Jim

______________________________________________
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.

Reply via email to