[R] Remove non-numerical columns from data frame
Peter Dalgaard
p.dalgaard at biostat.ku.dk
Sat Jul 26 18:35:22 CEST 2008
Henrique Dallazuanna wrote:
> Try this:
>
> x <- data.frame(A=c(10,20), B = c("a", "b"), C = c(20,30))
> x[sapply(x, is.numeric)]
>
>
Yes, and read ?Extract to clear up the confusion between data$vol and
data[257] and data[[257]] (Section on "Recursive (list-like) objects:").
Also, ?Extract.data.frame.
> On Sat, Jul 26, 2008 at 11:19 AM, Markus Mühlbacher <muehliman at yahoo.com> wrote:
>
>> Hello,
>>
>> My question sounds simple, but as I am desperatly searchin for a solution I am
>> asking you all. :)
>>
>> I try to filter out all non-numeric columns of a data frame using a for loop
>> to go through all columns. My if clause looks like this:
>>
>> for(j in 1:length(data)) {
>>
>> ...
>> if(!is.numeric(data[j])) skip <- "not numeric")
>> ...
>> }
>>
>> When I do: is.numeric(data$vol) i get TRUE as result:
>> unfortunately this is not applicable in a for loop, because i need to go
>> through all of the columns using j.
>> I also tried to paste data$ and the name of the column , but this is always a
>> character.
>>
>> When I do: is.numeric(data[257]) i get FALSE as result
>> (257 is the corresponding column index to "vol")
>>
>
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
More information about the R-help
mailing list