Skip to content

Data read as labels

8 messages · Krzysztof Mitko, David Winsemius, barb

#
Hey guys,

i have a strange problem reading a .csv file. 
Seems not to be covered by the usual read.csv techniques. 

The relevant data i want to use, seems to be saved as the label of the data
point. 
Therefore i can not really use it


spec<-"EU2001"
part1<-"http://www.bundesbank.de/statistik/statistik_zeitreihen_download.php?func=directcsv&from=&until=&filename=bbk_"
part2<-"&csvformat=de&euro=mixed&tr="
tmp<-tempfile()
load<-paste(part1,spec,part2,spec,sep="")
download.file(load,tmp)
file<-read.csv(tmp,sep=";",dec=",", skip="5")
(relevant<-file[,2][1])




Thanks a lot for your help and your time!
Regards

--
View this message in context: http://r.789695.n4.nabble.com/Data-read-as-labels-tp4629901.html
Sent from the R help mailing list archive at Nabble.com.
#
On Mon, May 14, 2012, at 02:33, barb wrote:
It seems to me that there is a problem with conversion from data to
known type - the last two lines contains comments instead of data and
first column type is not recognized. You can supress all conversions,
remove problematic lines and then make conversion manually or import
only relevant lines and specify types. For example:

file<-read.csv(tmp, sep=";",
dec=",",skip=5,header=FALSE,nrows=495,colClasses=c("character","numeric","NULL","NULL"))
#
On May 14, 2012, at 5:33 AM, barb wrote:

            
If dec="," then you probably need read.csv2()

(Since dec="," is the default I would remove that argument from the  
call. It seemed to succeed )

file<-read.csv2(tmp,sep=";", skip="5")
(relevant<-file[,2][1])
[1] 10716,05
496 Levels: 10323,52 10391,38 10716,05 10929,62 11051,23 11329,50  
11380,11 ... Methodik: Ab Januar 1993 einschl. der Zusch?tzungen f?r  
nichtmelde- pflichtigen Au?enhandel, die bis Dezember 1992 in den  
Erg?nzungen zum Au?enhandel enthalten sind.
#
Hey David,

thanks for your fast reply, i really appreciate that you answer so many
posts.

Unfortunately it?s not that easy. Try to operate with the output:

e.g
file<-read.csv2(tmp,sep=";",skip="5") 
a<-(relevant<-file[,2][1]) 
a*5
# or 
as.numeric(relevant<-file[,2][1])

a is saved in the workspace as a factor and the values i actually need are
saved as the labels. 
(therefore my subject)

Thank You!

--
View this message in context: http://r.789695.n4.nabble.com/Data-read-as-labels-tp4629901p4629951.html
Sent from the R help mailing list archive at Nabble.com.
#
On May 14, 2012, at 11:23 AM, barb wrote:

            
Your subject line asked for "labels". That is not a word that  
represents anything specific in R parlance except perhaps plotting  
function arguments. It you want to prevent the conversion of  
"character" values to factors then you should be using  
stringsAsFactors=FALSE in the read functions.

If you want to convert from factor to character correctly, you could  
also refer to the FAQ. On my machine the section "7.10 How do I  
convert factors to numeric?" is located at:

http://127.0.0.1:13702/doc/manual/R-FAQ.html#How-do-I-convert-factors-to-numeric_003f

You should have a similar copy of the FAQ someplace on your machine.  
It's good to review the "miscellaneous" section a couple of times.
David Winsemius, MD
West Hartford, CT
#
Hey David,

i tried all this - it doesn?t work :(

file<-read.csv2(tmp,sep=";",skip="5") # or
file<-read.csv2(tmp,sep=";",skip="5",stringsAsFactors=FALSE)a<-(relevant<-file[,2]) 
clean <- as.numeric(levels(a))[as.integer(a)]
clean<-as.numeric(as.character(a))


i often use noquote and strsplit and then convert data, but i never dealed
with that kind of data
and it drives me crazy =)

--
View this message in context: http://r.789695.n4.nabble.com/Data-read-as-labels-tp4629901p4630112.html
Sent from the R help mailing list archive at Nabble.com.
#
On May 15, 2012, at 11:13 AM, barb wrote:

            
Sadder and less informative words were never written!

Learn to express in natural language or in code what you were  
expecting rather than use the phrase "doesn't work" which can mean one  
of an almost infinite sources of programming failure.
When I do that, I get a series of comma-separated digit values inside  
strings (because the default setting for the decimal separator is  
period = Punct auf Deutsch if I remember my lessons from 40 years ago,  
"." and not Komma ) so at the end I get:

....
[490] "94801,00"
[491] "85013,00"
[492] "85982,00"
[493] "91213,00"
[494] "98912,00"
[495] "Bemerkung: "
[496] "Methodik: Ab Januar 1993 einschl. der Zusch?tzungen f?r  
nichtmelde- pflichtigen Au?enhandel, die bis Dezember 1992 in den  
Erg?nzungen zum Au?enhandel enthalten sind."

So what is "not working" and what would be "success"? Is this  
successful?

 > aconv <- sub("\\,", ".", a)
 > str(as.numeric(aconv))
  num [1:496] 10716 12897 11330 10930 11485 ...
Warning message:
In str(as.numeric(aconv)) : NAs introduced by coercion
 > as.numeric(aconv[480:494])
  [1] 78645.63 84067.37 98180.37 84252.25 92003.35 88139.63 85664.93  
85138.00 94960.00
[10] 89170.00 94801.00 85013.00 85982.00 91213.00 98912.00
David Winsemius, MD
West Hartford, CT
2 days later
#
that?s a success. "Das ist ein Erfolg". :) Maybe you had that in your german
lessons, too ;) 
So if you are still interested in learning our language, feel free to ask
me. 
I really learned a lot in this forum, so i am always happy to be able to
give something back


--
View this message in context: http://r.789695.n4.nabble.com/Data-read-as-labels-tp4629901p4630529.html
Sent from the R help mailing list archive at Nabble.com.