On Nov 16, 2012, at 9:39 PM, Brian Feeny wrote:
I have a dataframe that has a header like so:
class value1 value2 value3
class is a factor
the actual values in the columns value1, value2 and value3 are
0-255, I wish to binarize these using biclust.
I can do this like so:
binarize(dataframe[,-1])
this will return a dataframe, but then I lose my first column class,
so I thought I could combine it like so:
dataframe <- cbind(dataframe$label, binarize(dataframe[,-1]))
There is no column with the name "label". There is also no function
named "label" in base R although I cannot speak about biclust. Even if
there were, you cannot apply functions to data.frames with the "$"
function.
but then I lose my header (names).............how can I do the above
operation and keep my header in tact?
Basically i just want to binarize everything but the first column
(since its a factor column and not numeric).
I have no idea how 'binarize' works but if you wanted to 'defactorize'
a factor then you should learn to use 'as.character' to turn factors
into character vectors. Perhaps:
dfrm <- cbind( as.character(dataframe[1]), binarize(dataframe[,-1]))
You should make sure this is still a dataframe since cbind.default
returns a matrix and this would be a character matrix. I'm taking your
word that the second argument is a dataframe, and that would mean the
cbind.data.frame method would be dispatched.
It is a rather unfortunate practice to call your dataframes
"dataframe" and also bad to name your columns "class" since the first
is a fundamental term and the second a basic function. If you persist,
people will start talking to you about dogs named "Dog".
David Winsemius, MD
Alameda, CA, USA
______________________________________________
R-help@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.