Quantcast

as.xts convert all my numeric data to character

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

as.xts convert all my numeric data to character

David L. Van Brunt, Ph.D.
Hello, all... I've been playing with the TTR package and quantmod, and I'm
loading the Chicago Board of Exchange put/call ratio data via a simple
read.csv call...

CBOEtotal<-read.csv(file="
http://www.cboe.com/publish/ScheduledTask/MktData/datahouse/totalpc.csv
",skip=1)

this gives me a data frame with columns....
> names(CBOEtotal)
[1] "Trade_date" "Call"       "Put"        "Total"      "P.C.Ratio"

> head(CBOEtotal)

  Trade_date    Call    Put   Total P.C.Ratio
1 2003-10-17 1152086 733258 1885344      0.64
2 2003-10-21  773759 540023 1313782      0.70
3 2003-10-22  663452 646991 1310443      0.98
4 2003-10-23  579837 493493 1073330      0.85
5 2003-10-24  690948 630758 1321706      0.91
6 2003-10-27  512226 328592  840818      0.64

Now I'd like to merge this with the data I've downloaded using TTR.
>      Hx<- getYahooData("AAPL", "20030101", "20091130")
> head(Hx)
            Open  High   Low Close   Volume Unadj.Close Div Split Adj.Div
2003-01-02 7.180 7.460 7.175 7.400  6479600       14.80  NA    NA      NA
2003-01-03 7.400 7.465 7.295 7.450  5266200       14.90  NA    NA      NA
2003-01-06 7.515 7.690 7.440 7.450 13947600       14.90  NA    NA      NA
2003-01-07 7.395 7.500 7.235 7.425 12226600       14.85  NA    NA      NA
2003-01-08 7.290 7.355 7.220 7.275  8201600       14.55  NA    NA      NA
2003-01-09 7.310 7.460 7.250 7.340  7687600       14.68  NA    NA      NA

> is.xts(Hx)
[1] TRUE

In order to merge by date, I am trying to convert the first data frame in to
an xts matrix first, but when I try, all my data gets converted to character
data....

> CBOEtotal$Trade_date<-as.POSIXct(paste(CBOEtotal$Trade_date,"0:0:0"),
format = "%m/%d/%Y %H:%M:%S",tz="EST")
> CBOEtotal<-xts(CBOEtotal,order.by=CBOEtotal$Trade_date)
> head(CBOEtotal)
           Trade_date   Call      Put       Total      P.C.Ratio
2003-10-17 "2003-10-17" "1152086" " 733258" " 1885344" "0.64"
2003-10-21 "2003-10-21" " 773759" " 540023" " 1313782" "0.70"
2003-10-22 "2003-10-22" " 663452" " 646991" " 1310443" "0.98"
2003-10-23 "2003-10-23" " 579837" " 493493" " 1073330" "0.85"
2003-10-24 "2003-10-24" " 690948" " 630758" " 1321706" "0.91"
2003-10-27 "2003-10-27" " 512226" " 328592" "  840818" "0.64"

And nothing I try will make those things numbers again. (not "as.double" or
"as.numeric" to each column)

What am I missing?  Using R 2.10.1 on Mac OS X

        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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 | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: as.xts convert all my numeric data to character

ivan popivanov

Here is what worked for me:

 

1) Create a single xts object using one column and the index

2) Merge with the other columns

 

tt = read.csv("c:/ttt/totalpc.csv", skip=1)

xx = xts(tt$Call, order.by=as.Date(tt$Trade_date, format="%m/%d/%Y"))

yy = merge(xx, tt$Put, tt$Total, tt$P.C.Ratio)

colnames(yy) = c("Call", "Put", "Total", "P.C.Ratio")

 

The last line resets the column names.

 

HTH

 

> From: [hidden email]
> Date: Sat, 19 Dec 2009 18:11:50 -0500
> To: [hidden email]
> Subject: [R] as.xts convert all my numeric data to character
>
> Hello, all... I've been playing with the TTR package and quantmod, and I'm
> loading the Chicago Board of Exchange put/call ratio data via a simple
> read.csv call...
>
> CBOEtotal<-read.csv(file="
> http://www.cboe.com/publish/ScheduledTask/MktData/datahouse/totalpc.csv
> ",skip=1)
>
> this gives me a data frame with columns....
> > names(CBOEtotal)
> [1] "Trade_date" "Call" "Put" "Total" "P.C.Ratio"
>
> > head(CBOEtotal)
>
> Trade_date Call Put Total P.C.Ratio
> 1 2003-10-17 1152086 733258 1885344 0.64
> 2 2003-10-21 773759 540023 1313782 0.70
> 3 2003-10-22 663452 646991 1310443 0.98
> 4 2003-10-23 579837 493493 1073330 0.85
> 5 2003-10-24 690948 630758 1321706 0.91
> 6 2003-10-27 512226 328592 840818 0.64
>
> Now I'd like to merge this with the data I've downloaded using TTR.
> > Hx<- getYahooData("AAPL", "20030101", "20091130")
> > head(Hx)
> Open High Low Close Volume Unadj.Close Div Split Adj.Div
> 2003-01-02 7.180 7.460 7.175 7.400 6479600 14.80 NA NA NA
> 2003-01-03 7.400 7.465 7.295 7.450 5266200 14.90 NA NA NA
> 2003-01-06 7.515 7.690 7.440 7.450 13947600 14.90 NA NA NA
> 2003-01-07 7.395 7.500 7.235 7.425 12226600 14.85 NA NA NA
> 2003-01-08 7.290 7.355 7.220 7.275 8201600 14.55 NA NA NA
> 2003-01-09 7.310 7.460 7.250 7.340 7687600 14.68 NA NA NA
>
> > is.xts(Hx)
> [1] TRUE
>
> In order to merge by date, I am trying to convert the first data frame in to
> an xts matrix first, but when I try, all my data gets converted to character
> data....
>
> > CBOEtotal$Trade_date<-as.POSIXct(paste(CBOEtotal$Trade_date,"0:0:0"),
> format = "%m/%d/%Y %H:%M:%S",tz="EST")
> > CBOEtotal<-xts(CBOEtotal,order.by=CBOEtotal$Trade_date)
> > head(CBOEtotal)
> Trade_date Call Put Total P.C.Ratio
> 2003-10-17 "2003-10-17" "1152086" " 733258" " 1885344" "0.64"
> 2003-10-21 "2003-10-21" " 773759" " 540023" " 1313782" "0.70"
> 2003-10-22 "2003-10-22" " 663452" " 646991" " 1310443" "0.98"
> 2003-10-23 "2003-10-23" " 579837" " 493493" " 1073330" "0.85"
> 2003-10-24 "2003-10-24" " 690948" " 630758" " 1321706" "0.91"
> 2003-10-27 "2003-10-27" " 512226" " 328592" " 840818" "0.64"
>
> And nothing I try will make those things numbers again. (not "as.double" or
> "as.numeric" to each column)
>
> What am I missing? Using R 2.10.1 on Mac OS X
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> [hidden email] 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.
     
_________________________________________________________________



        [[alternative HTML version deleted]]

______________________________________________
[hidden email] 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.
Loading...