Fix Ace
2017-Aug-27 20:25 UTC
[R] help with read.csv() for files with different number of columns
Dear R community, I have a text file (test.txt) with different number of columns: 0610007P14Rik%%% Tcf19 Gtf2i 0610010O12Rik%%% Ivns1abp Etv6 1100001G20Rik%%% Nmi 1500015O10Rik%%% Foxi1 Ascl3 Sirt3 1700003E16Rik%%% Ascl2 Ifnar2 1700028J19Rik%%% Musk Nfe2l3 1810011O10Rik%%% Ppp1r13b Bpnt1 Cdkn2c Foxc1 Sox10 Smarca2 1810019D21Rik%%% Asb8 1810037I17Rik%%% Zfp612 1810055G02Rik%%% Nkx2-3 Maged1 Runx1 Ugp2 Elk4 Spdef Tcf19 Isl2 Gtf2i Ctnnbl1 Tcea3 Ank2 Zfp612 Creb3l1 Nupr1 3632451O06Rik Creb3l4 Lass6 I wold like to read it into R using > test=read.csv("test.txt",sep="\t",header=FALSE) However, when I check the r object "test", I found that all the rows have 5 columns:> test?? ? ? ? ? ? ? ? V1? ? ? ? ? ? V2? ? ? V3 ? ? V4? ? ? V51? 0610007P14Rik%%% ? ? ? ? Tcf19 ? Gtf2i? ? ? ? ? ? ? ?2? 0610010O12Rik%%%? ? ? Ivns1abp? ? Etv6? ? ? ? ? ? ? ?3? 1100001G20Rik%%% ? ? ? ? ? Nmi? ? ? ? ? ? ? ? ? ? ? ?4? 1500015O10Rik%%% ? ? ? ? Foxi1 ? Ascl3? Sirt3 ? ? ? ?5? 1700003E16Rik%%% ? ? ? ? Ascl2? Ifnar2? ? ? ? ? ? ? ?6? 1700028J19Rik%%%? ? ? ? ? Musk? Nfe2l3? ? ? ? ? ? ? ?7? 1810011O10Rik%%%? ? ? Ppp1r13b ? Bpnt1 Cdkn2c ? Foxc18 ? ? ? ? ? ? Sox10 ? ? ? Smarca2? ? ? ? ? ? ? ? ? ? ? ?9? 1810019D21Rik%%%? ? ? ? ? Asb8? ? ? ? ? ? ? ? ? ? ? ?10 1810037I17Rik%%%? ? ? ? Zfp612? ? ? ? ? ? ? ? ? ? ? ?11 1810055G02Rik%%%? ? ? ? Nkx2-3? Maged1? Runx1? ? Ugp212 ? ? ? ? ? ? Elk4 ? ? ? ? Spdef ? Tcf19 ? Isl2 ? Gtf2i13? ? ? ? ? Ctnnbl1 ? ? ? ? Tcea3? ? Ank2 Zfp612 Creb3l114? ? ? ? ? ? Nupr1 3632451O06Rik Creb3l4? Lass6?Basically it breaks some rows into more than one rows. For example, row 7 in the original record becomes two rows. Looks like the "test" always has 5 columns.? How does this happen? How should I fix it to make one record into one two in R object? Thank you very much! Ace [[alternative HTML version deleted]]
Fix Ace
2017-Aug-28 02:56 UTC
[R] help with read.csv() for files with different number of columns
Hi, Jim, Thank you very much for pointing out the format issue. Here is the original text: ===I have a text file (test.txt) with different number of columns: 0610007P14Rik%%% Tcf19 Gtf2i 0610010O12Rik%%% Ivns1abp Etv6 1100001G20Rik%%% Nmi 1500015O10Rik%%% Foxi1 Ascl3 Sirt3 1700003E16Rik%%% Ascl2 Ifnar2 1700028J19Rik%%% Musk Nfe2l3 1810011O10Rik%%% Ppp1r13b Bpnt1 Cdkn2c Foxc1 Sox10 Smarca2 1810019D21Rik%%% Asb8 1810037I17Rik%%% Zfp612 1810055G02Rik%%% Nkx2-3 Maged1 Runx1 Ugp2 Elk4 Spdef Tcf19 Isl2 Gtf2i Ctnnbl1 Tcea3 Ank2 Zfp612 Creb3l1 Nupr1 3632451O06Rik Creb3l4 Lass6 I wold like to read it into R using > test=read.csv("test.txt",sep="\t",header=FALSE) However, when I check the r object "test", I found that all the rows have 5 columns:> test?? ? ? ? ? ? ? ? V1? ? ? ? ? ? V2? ? ? V3 ? ? V4? ? ? V51? 0610007P14Rik%%% ? ? ? ? Tcf19 ? Gtf2i? ? ? ? ? ? ? ?2? 0610010O12Rik%%%? ? ? Ivns1abp? ? Etv6? ? ? ? ? ? ? ?3? 1100001G20Rik%%% ? ? ? ? ? Nmi? ? ? ? ? ? ? ? ? ? ? ?4? 1500015O10Rik%%% ? ? ? ? Foxi1 ? Ascl3? Sirt3 ? ? ? ?5? 1700003E16Rik%%% ? ? ? ? Ascl2? Ifnar2? ? ? ? ? ? ? ?6? 1700028J19Rik%%%? ? ? ? ? Musk? Nfe2l3? ? ? ? ? ? ? ?7? 1810011O10Rik%%%? ? ? Ppp1r13b ? Bpnt1 Cdkn2c ? Foxc18 ? ? ? ? ? ? Sox10 ? ? ? Smarca2? ? ? ? ? ? ? ? ? ? ? ?9? 1810019D21Rik%%%? ? ? ? ? Asb8? ? ? ? ? ? ? ? ? ? ? ?10 1810037I17Rik%%%? ? ? ? Zfp612? ? ? ? ? ? ? ? ? ? ? ?11 1810055G02Rik%%%? ? ? ? Nkx2-3? Maged1? Runx1? ? Ugp212 ? ? ? ? ? ? Elk4 ? ? ? ? Spdef ? Tcf19 ? Isl2 ? Gtf2i13? ? ? ? ? Ctnnbl1 ? ? ? ? Tcea3? ? Ank2 Zfp612 Creb3l114? ? ? ? ? ? Nupr1 3632451O06Rik Creb3l4? Lass6?Basically it breaks some rows into more than one rows. For example, row 7 in the original record becomes two rows. Looks like the "test" always has 5 columns.? How does this happen? How should I fix it to make one record into one two in R object? =Please let?me know if it is readable now. Thank you very much for your time! Kind regards, Ace On Sunday, August 27, 2017 7:25 PM, Jim Lemon <drjimlemon at gmail.com> wrote: Hi Ace, As your example seems to have spaces as separators, testdf<-read.table("test.txt",header=FALSE,fill=TRUE, col.names=paste("V",1:14,sep=""),stringsAsFactors=FALSE) By specifying the number of columns with "col.names" and using "fill=TRUE" you can get a data frame with zero length strings where values are missing in the input file. Jim On Mon, Aug 28, 2017 at 6:25 AM, Fix Ace via R-help <r-help at r-project.org> wrote:> Dear R community, > I have a text file (test.txt) with different number of columns: > 0610007P14Rik%%% Tcf19 Gtf2i 0610010O12Rik%%% Ivns1abp Etv6 1100001G20Rik%%% Nmi 1500015O10Rik%%% Foxi1 Ascl3 Sirt3 1700003E16Rik%%% Ascl2 Ifnar2 1700028J19Rik%%% Musk Nfe2l3 1810011O10Rik%%% Ppp1r13b Bpnt1 Cdkn2c Foxc1 Sox10 Smarca2 1810019D21Rik%%% Asb8 1810037I17Rik%%% Zfp612 1810055G02Rik%%% Nkx2-3 Maged1 Runx1 Ugp2 Elk4 Spdef Tcf19 Isl2 Gtf2i Ctnnbl1 Tcea3 Ank2 Zfp612 Creb3l1 Nupr1 3632451O06Rik Creb3l4 Lass6 > I wold like to read it into R using >? > test=read.csv("test.txt",sep="\t",header=FALSE) > However, when I check the r object "test", I found that all the rows have 5 columns: >> test? ? ? ? ? ? ? ? V1? ? ? ? ? ? V2? ? ? V3? ? V4? ? ? V51? 0610007P14Rik%%%? ? ? ? Tcf19? Gtf2i? ? ? ? ? ? ? 2? 0610010O12Rik%%%? ? ? Ivns1abp? ? Etv6? ? ? ? ? ? ? 3? 1100001G20Rik%%%? ? ? ? ? Nmi? ? ? ? ? ? ? ? ? ? ? 4? 1500015O10Rik%%%? ? ? ? Foxi1? Ascl3? Sirt3? ? ? ? 5? 1700003E16Rik%%%? ? ? ? Ascl2? Ifnar2? ? ? ? ? ? ? 6? 1700028J19Rik%%%? ? ? ? ? Musk? Nfe2l3? ? ? ? ? ? ? 7? 1810011O10Rik%%%? ? ? Ppp1r13b? Bpnt1 Cdkn2c? Foxc18? ? ? ? ? ? Sox10? ? ? Smarca2? ? ? ? ? ? ? ? ? ? ? 9? 1810019D21Rik%%%? ? ? ? ? Asb8? ? ? ? ? ? ? ? ? ? ? 10 1810037I17Rik%%%? ? ? ? Zfp612? ? ? ? ? ? ? ? ? ? ? 11 1810055G02Rik%%%? ? ? ? Nkx2-3? Maged1? Runx1? ? Ugp212? ? ? ? ? ? Elk4? ? ? ? Spdef? Tcf19? Isl2? Gtf2i13? ? ? ? ? Ctnnbl1? ? ? ? Tcea3? ? Ank2 Zfp612 Creb3l114? ? ? ? ? ? Nupr1 3632451O06Rik Creb3l4? Lass6 > Basically it breaks some rows into more than one rows. For example, row 7 in the original record becomes two rows. Looks like the "test" always has 5 columns. > How does this happen? How should I fix it to make one record into one two in R object? > Thank you very much! > Ace > > > > > > > > >? ? ? ? [[alternative HTML version deleted]] > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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.[[alternative HTML version deleted]]
Possibly Parallel Threads
- help with read.csv() for files with different number of columns
- help with read.csv() for files with different number of columns
- help with read.csv() for files with different number of columns
- help with read.csv() for files with different number of columns
- help with read.csv() for files with different number of columns