I have a text file that has semi-colon separated values. The table is nearly
10,000 by 585. The files looks as follows:
*******************************************
First line: Skip this line
Second line: skip this line
Third line: skip this line
variable1 Variable2 Variable3 Variable4
Unit1 Unit2 Unit3
10 0.1 0.01 0.001
20 0.2 0.02 0.002
30 0.3 0.03 0.003
40 0.4 0.04 0.004
*******************************************
The first three lines need to be skipped. Moreover, line 5 doesn't have
units for all the variables and hence, has to be skipped as well.
Effectively, I want the following to be read to a dataframe skipping rows 1,
2, 3 and 5.
*******************************************
variable1 Variable2 Variable3 Variable4
10 0.1 0.01 0.001
20 0.2 0.02 0.002
30 0.3 0.03 0.003
40 0.4 0.04 0.004
*******************************************
I tried using read.table with skip for line 1-3 as follows
inputData <- read.table("test.txt",sep = ";",skip = 3)
but the line 4 is creating problem with the following error:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,
:
line 3 did not have 585 elements
Can someone help me with this?
Thank you.
Ravi
--
View this message in context:
http://r.789695.n4.nabble.com/Skipping-lines-and-incomplete-rows-tp4635830.html
Sent from the R help mailing list archive at Nabble.com.
Hello,
Try the following.
head <- readLines("test.txt", n=4)[4]
dat <- read.table("test.txt", skip=5)
names(dat) <- unlist(strsplit(head, " "))
dat
hope this helps,
Rui Barradas
Em 09-07-2012 11:23, vioravis escreveu:> I have a text file that has semi-colon separated values. The table is
nearly
> 10,000 by 585. The files looks as follows:
>
> *******************************************
> First line: Skip this line
> Second line: skip this line
> Third line: skip this line
> variable1 Variable2 Variable3 Variable4
> Unit1 Unit2 Unit3
> 10 0.1 0.01 0.001
> 20 0.2 0.02 0.002
> 30 0.3 0.03 0.003
> 40 0.4 0.04 0.004
> *******************************************
>
> The first three lines need to be skipped. Moreover, line 5 doesn't have
> units for all the variables and hence, has to be skipped as well.
> Effectively, I want the following to be read to a dataframe skipping rows
1,
> 2, 3 and 5.
>
> *******************************************
> variable1 Variable2 Variable3 Variable4
> 10 0.1 0.01 0.001
> 20 0.2 0.02 0.002
> 30 0.3 0.03 0.003
> 40 0.4 0.04 0.004
> *******************************************
>
> I tried using read.table with skip for line 1-3 as follows
>
> inputData <- read.table("test.txt",sep = ";",skip =
3)
>
> but the line 4 is creating problem with the following error:
>
> Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,
> :
> line 3 did not have 585 elements
>
> Can someone help me with this?
>
> Thank you.
>
> Ravi
>
> --
> View this message in context:
http://r.789695.n4.nabble.com/Skipping-lines-and-incomplete-rows-tp4635830.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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,
I guess you should have "fill=TRUE" in the read.table.
dat1<-read.table(text="
First line: Skip this line
Second line: skip this line
Third line: skip this line
variable1 Variable2 Variable3 Variable4
????????????????? Unit1??????? Unit2??????? Unit3
10????????????? 0.1????????????? 0.01????????? 0.001
20????????????? 0.2????????????? 0.02????????? 0.002
30????????????? 0.3????????????? 0.03????????? 0.003
40????????????? 0.4????????????? 0.04????????? 0.004
",sep="",skip=4, fill=TRUE,header=TRUE)
dat1<-dat1[-1,]
row.names(dat1)<-1:nrow(dat1)
dat1
? variable1 Variable2 Variable3 Variable4
1??????? 10?????? 0.1????? 0.01???? 0.001
2??????? 20?????? 0.2????? 0.02???? 0.002
3??????? 30?????? 0.3????? 0.03???? 0.003
4??????? 40?????? 0.4????? 0.04???? 0.004
A.K.
----- Original Message -----
From: vioravis <vioravis at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Monday, July 9, 2012 6:23 AM
Subject: [R] Skipping lines and incomplete rows
I have a text file that has semi-colon separated values. The table is nearly
10,000 by 585. The files looks as follows:
*******************************************
First line: Skip this line
Second line: skip this line
Third line: skip this line
variable1 Variable2 Variable3 Variable4
? ? ? ? ? ? ? ? ? Unit1? ? ? ? Unit2? ? ? ? Unit3
10? ? ? ? ? ? ? 0.1? ? ? ? ? ? ? 0.01? ? ? ? ? 0.001
20? ? ? ? ? ? ? 0.2? ? ? ? ? ? ? 0.02? ? ? ? ? 0.002
30? ? ? ? ? ? ? 0.3? ? ? ? ? ? ? 0.03? ? ? ? ? 0.003
40? ? ? ? ? ? ? 0.4? ? ? ? ? ? ? 0.04? ? ? ? ? 0.004
*******************************************
The first three lines need to be skipped. Moreover, line 5 doesn't have
units for all the variables and hence, has to be skipped as well.
Effectively, I want the following to be read to a dataframe skipping rows 1,
2, 3 and 5.
*******************************************
variable1 Variable2 Variable3 Variable4
10? ? ? ? ? ? ? 0.1? ? ? ? ? ? ? 0.01? ? ? ? ? 0.001
20? ? ? ? ? ? ? 0.2? ? ? ? ? ? ? 0.02? ? ? ? ? 0.002
30? ? ? ? ? ? ? 0.3? ? ? ? ? ? ? 0.03? ? ? ? ? 0.003
40? ? ? ? ? ? ? 0.4? ? ? ? ? ? ? 0.04? ? ? ? ? 0.004
*******************************************
I tried using read.table with skip for line 1-3 as follows
inputData <- read.table("test.txt",sep = ";",skip = 3)
but the line 4 is creating problem with the following error:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,
:
? line 3 did not have 585 elements
Can someone help me with this?
Thank you.
Ravi
--
View this message in context:
http://r.789695.n4.nabble.com/Skipping-lines-and-incomplete-rows-tp4635830.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
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.
Hello,
Just now I checked reading directly from .txt file instead of the one showed in
my earlier reply,
#Use skip=3 instead of 4.
dat1<-read.table("dat1.txt",sep="",skip=3,fill=TRUE,header=TRUE)
dat1<-dat1[-1,]
?row.names(dat1)<-1:nrow(dat1)
?dat1
? variable1 Variable2 Variable3 Variable4
1??????? 10?????? 0.1????? 0.01???? 0.001
2??????? 20?????? 0.2????? 0.02???? 0.002
3??????? 30?????? 0.3????? 0.03???? 0.003
4??????? 40?????? 0.4????? 0.04???? 0.004
Hope it works.
A.K.
----- Original Message -----
From: vioravis <vioravis at gmail.com>
To: r-help at r-project.org
Cc:
Sent: Monday, July 9, 2012 6:23 AM
Subject: [R] Skipping lines and incomplete rows
I have a text file that has semi-colon separated values. The table is nearly
10,000 by 585. The files looks as follows:
*******************************************
First line: Skip this line
Second line: skip this line
Third line: skip this line
variable1 Variable2 Variable3 Variable4
? ? ? ? ? ? ? ? ? Unit1? ? ? ? Unit2? ? ? ? Unit3
10? ? ? ? ? ? ? 0.1? ? ? ? ? ? ? 0.01? ? ? ? ? 0.001
20? ? ? ? ? ? ? 0.2? ? ? ? ? ? ? 0.02? ? ? ? ? 0.002
30? ? ? ? ? ? ? 0.3? ? ? ? ? ? ? 0.03? ? ? ? ? 0.003
40? ? ? ? ? ? ? 0.4? ? ? ? ? ? ? 0.04? ? ? ? ? 0.004
*******************************************
The first three lines need to be skipped. Moreover, line 5 doesn't have
units for all the variables and hence, has to be skipped as well.
Effectively, I want the following to be read to a dataframe skipping rows 1,
2, 3 and 5.
*******************************************
variable1 Variable2 Variable3 Variable4
10? ? ? ? ? ? ? 0.1? ? ? ? ? ? ? 0.01? ? ? ? ? 0.001
20? ? ? ? ? ? ? 0.2? ? ? ? ? ? ? 0.02? ? ? ? ? 0.002
30? ? ? ? ? ? ? 0.3? ? ? ? ? ? ? 0.03? ? ? ? ? 0.003
40? ? ? ? ? ? ? 0.4? ? ? ? ? ? ? 0.04? ? ? ? ? 0.004
*******************************************
I tried using read.table with skip for line 1-3 as follows
inputData <- read.table("test.txt",sep = ";",skip = 3)
but the line 4 is creating problem with the following error:
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,
:
? line 3 did not have 585 elements
Can someone help me with this?
Thank you.
Ravi
--
View this message in context:
http://r.789695.n4.nabble.com/Skipping-lines-and-incomplete-rows-tp4635830.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________
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.
Thanks a lot Rui and Arun.
The methods work fine with the data I gave but when I tried the two methods
with the following semi-colon separated data using sep = ";". Only the
first
3 columnns are read properly rest of the columns are either empty or NAs.
**********************************************************************************************
Remove this line
Remove this line
Remove this line
Time;Actual Speed;Actual Direction;Temp;Press;Value1;Value2
;[m/s];[?];?C;[hPa];[MWh];[MWh]
1/1/2012;0.0;0;#N/A;#N/A;0.0000;0.0000
1/2/2012;0.0;0;#N/A;#N/A;0.0000;0.0000
1/3/2012;0.0;0;#N/A;#N/A;1.5651;2.2112
1/4/2012;0.0;0;#N/A;#N/A;1.0000;2.0000
1/5/2012;0.0;0;#N/A;#N/A;3.2578;7.5455
***********************************************************************************************
I used the following code:
dat1<-read.table("testInput.txt",sep=";",skip=3,fill=TRUE,header=TRUE)
dat1<-dat1[-1,]
row.names(dat1)<-1:nrow(dat1)
Could you please let me know what is wrong with this approach?
Thank you.
Ravi
--
View this message in context:
http://r.789695.n4.nabble.com/Skipping-lines-and-incomplete-rows-tp4635830p4635952.html
Sent from the R help mailing list archive at Nabble.com.