converting values of a dataframe to numeric (where possible)
Ok, I think I have this .... it works if I use data.frame(cast(df,entityID ~ attributeID))
Ralikwen wrote:
When I do as.matrix I loose those columns that I specified as row headers
during cast.
Maybe its because of this:
"When coercing a vector, it produces a one-column matrix, and promotes the
names (if any) of the vector to the rownames of the matrix."
but I cant figure out what does this mean or what to do to make it work.
Thanks for the help.
B.
df <- data.frame(
entityID=c(10,10,10,12,12,12),
attributeID=c("attr1","attr2","attr3","attr1","attr2","attr3"),
value=c(10,11,12,"aa",21,22)
)
x<-cast(df,entityID ~ attributeID)
x
as.matrix(x)
jholtman wrote:
Try this as a solution:
df <- data.frame(a=letters[15:17], b=c("21","NA","23"), c=10:12,
d=15:17)
# convert to numeric
x <- as.matrix(df)
mode(x) <- "numeric"
Warning message: In eval(expr, envir, enclos) : NAs introduced by coercion
cbind(df, RTot=rowSums(x, na.rm=TRUE))
a b c d RTot 1 o 21 10 15 46 2 p NA 11 16 27 3 q 23 12 17 52
On Tue, Sep 2, 2008 at 5:50 PM, Ralikwen <Balazs.Klein at gmail.com> wrote:
Hi,
I am new to R.
I have a dataframe with many columns some of which contain genuine
strings
some numerical values as strings. The dataframe is created by cast so I
have
no control over the resulting data type.
I want to attach columns as aggregates of other columns to the
dataframe.
Here is the solution that I came up with (after a lot of struggle):
castNum <- function(n) {
x<-as.numeric(as.character(n))
if (is.na(x)){
return(n)
}else{
return(x)
}
}
df <- data.frame(a=letters[15:17], b=c("21","NA","23"), c=10:12,
d=15:17)
cbind(df,RTot=rowSums(as.data.frame(lapply(df, function(x)
castNum(x)))[2:4],na.rm=TRUE))
This works, but is full of warnings and looks extremely ugly.
Could you direct me how to achieve the same result in a more elegant
way?
Thx.
Bal?zs
--
View this message in context:
http://www.nabble.com/converting-values-of-a-dataframe-to-numeric-%28where-possible%29-tp19279139p19279139.html
Sent from the R help mailing list archive at Nabble.com.
______________________________________________ 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?
______________________________________________ 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.
View this message in context: http://www.nabble.com/converting-values-of-a-dataframe-to-numeric-%28where-possible%29-tp19279139p19287188.html Sent from the R help mailing list archive at Nabble.com.