[R-SIG-Finance] Importing from Excel
Spencer Graves
spencer.graves at pdf.com
Mon Feb 4 20:57:09 CET 2008
I've had good luck with 'read.xls{gdata}', but that could have the
same problem.
If this still gives you problems, you could put your favorite
'read.*(...)' in a function that tests columns you specify to see if
they are numeric and if not tries to replace them with
is.numeric(as.character(DF[[i]]))
for column i of data.frame DF. You could test that to see what
percent NAs you have and write a warning, etc., whatever you want.
hope this helps.
Spencer
MAB wrote:
> Hi!
>
> I am trying to diff data imported from Excel.
> I use the package xlsReadWrite.
>
> After I load the following XL spreadsheet
>
> C_Dates C_Price C_Prices_edit C_Return_Raw C_Return_edit
> 1 30405 29.40 29.40 #N/A #N/A
> 2 30406 29.29 NaN -0.003 -0.003
> 3 30407 NA 29.29 0 0
> (#N/A is a string in one case and the formula =NA() in another)
>
> and try to diff the resulting object, I get:
>
> Error in r[i1, , drop = FALSE] - r[-nrow(r):-(nrow(r) - lag + 1), , drop =
> FALSE] :
> non-numeric argument to binary operator
>
> I attempt to convert to numeric using as.matrix (or data.matrix),
> but this converts the object to all characters.
>
> I can then use as.numeric to get a vector and rebuild the matrix but this gets
> tedious.
>
> Eventually the easiest seems to be to make sure each column in the spreadsheet
> starts with a numeric, and replace it once the object is in R.
>
> There is probably a better way.
>
> Michel
>
> _______________________________________________
> R-SIG-Finance at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only.
> -- If you want to post, subscribe first.
>
More information about the R-SIG-Finance
mailing list