[R] mixing strings and numeric doubles in an array

jim holtman jholtman at gmail.com
Tue Aug 3 19:19:33 CEST 2010


If you do an 'str' on your boject, you will probably find that TICKER
is a factor.  This is probably not what you want.  So when you create
the dataframe 'stock', use the parameter 'stringsAsFactors=FALSE' to
prevent the conversion to factors.

In the mean time, you can do:

stocks$TICKER <- as.character(stocks$TICKER)

On Tue, Aug 3, 2010 at 11:34 AM, Leigh E. Lommen
<leigh.lommen at courtesycorporation.com> wrote:
> I have an array called "stocks" which contains numeric dates, ticker
> symbols,prices, etc.
>
>
>
>> stocks[1:3,]
>
>      DATE    TICKER PERMNO EXCHCD TSYMBOL TRDSTAT SHROUT      PRC
> RET
>
> 1 19950131   EWST  10001             3         EWST       A
> 2224      -7.75000 -0.031250
>
> 2 19950228   EWST  10001             3         EWST       A
> 2224       7.54688 -0.026210
>
> 3 19950331   EWST  10001             3         EWST       A
> 2244       7.50000  0.006377
>
>
>
> However when I call the part of the array dealing with the Ticker, I
> get:
>
>
>
>> stocks[2,2]
>
> [1] EWST
>
> 16185 Levels:  A AA AAA AAAB AAABB AAB AABC AAC AACB AACC AACE AACI ...
> ZVXI
>
>
>
> Thus, when I reference this later, I get a numeric result and not the
> symbol?  Is this because I need to change the format of stocks[,2] or
> because it has these extra "levels".
>
>
>
> For example:
>
>
>
> # START FIRST PORTFOLIO
>
> port1=matrix(0, ctr,3)#matrix for portfolio starting in June 30th 1995
>
>
>
> c=0
>
>
>
> # sort data at time t=1 (June 30th, 1995)
>
> for (i in 1:T)
>
>            {
>
>              if (stocks[i,1]==19950630)
>
>                        {
>
>                          c=c+1
>
>                          row=i
>
>                          price = abs(stocks[i,8])
>
>
>
>                          port1[c,1]=stocks[i,1] #put date in first
> column
>
>                          port1[c,2]=stocks[i,2] #ticker
>
>                          port1[c,3]=price #price
>
>                        }
>
>
>
>            }
>
>
>
> WHEN I TRY
>
>> port1[1,2]
>
> [1] 4934
>
>
>
> I SHOULD GET
>
>  [1] EWST
>
> ????????
>
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem that you are trying to solve?



More information about the R-help mailing list