[R] combining numeric vector and column in a data frame
Rui Barradas
ruipbarradas at sapo.pt
Wed Jul 11 06:21:12 CEST 2012
Hello,
Here are two ways of doing it.
df1 <- read.table(text="
fileName type status
b N alive
a T dead
d N alive
c T dead
f N alive
e T dead
", header=TRUE)
df1
my.numeric.vec <- scan(text="2 1 4 9 10 3")
names(my.numeric.vec) <- letters[1:6]
# A way
j <- df1
j$my.numeric.vec <- sapply(df1$f, function(y)
my.numeric.vec[ names(my.numeric.vec) %in% y ])
j # See it
# Another way
merge(df1, data.frame(fileName=names(my.numeric.vec),
my.numeric.vec=my.numeric.vec))
Hope this helps,
Rui Barradas
Em 10-07-2012 23:38, Adrian Johnson escreveu:
> Hi:
> I am trying to map column names of a matrix to another data frame and
> get values in a different column of data frame
>
>
> I have a matrix m.
>
>> my.numeric vec <- m[1,]
>
>> my.numeric.vec
> a b c d e f
> 2 1 4 9 10 3
>
>
>
> ## my data frame = df1
>
>> df1
>
> fileName type status
> b N alive
> a T dead
> d N alive
> c T dead
> f N alive
> e T dead
>
>
> I want to combine as.numeric.vec and df1 and create j with correct
> filename and type and numeric value
>
>> j
>
> my.numeric.vec type
> a 2 T
> b 1 N
> c 4 T
> d 9 N
> e 10 T
> f 3 N
>
> How can I combine my.numeric.vec and df1$type
>
> when I try:
>
> df1[df1$fileName %in% names(my.numeric.vec),2]
>
> I get wrong answer.
>
>
> thanks in advance.
>
> Adrian
>
> ______________________________________________
> 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.
>
More information about the R-help
mailing list