[R] Re place Values within vector using Translation vector

Christian Langkamp christian.langkamp at basf.com
Wed Feb 18 22:24:36 CET 2009


Dear everyone 
I would like to change values in vectors doing a translation. i.e. I have a
start vector giving me the levels in one vector (numbers 1 to x - rating)
and then I have a second vector giving me the values to be allocated (loss
probabilities), but the number of potential rating classes and loss
estimates is still subject to a lot of discussion.

Attached a simplified version of the problem (original has more values and
needs to stay flexible, i.e. length of translation vector can change.

Trans_Prob_values<-c(0.005, 0.01, 0.1)
Trans_CR<-c(1,2,3)
a<-c(3,2,1,1,2,3)
A<-replace(a, Trans_CR, Trans_Prob_values)
A

This however produces
[1] 0.005 0.010 0.100 1.000 2.000 3.000
as opposed to the desired result.


The help however says 
"replace replaces the values in x with indexes given in list by those given
in values. If necessary, the values in values are recycled. " which in my
view should be exactly doing the job intended above.

Constructions with nested ifelse statements and individual replacements are
too cumbersome in my view.
I searched for conditional replacement, vector replace, replace function and
read the problems, but generally they have conditions like age>30 then x,
not a direct translation of values.

If anyone has an idea, please do share it.
Thanks
Christian

-- 
View this message in context: http://www.nabble.com/Replace-Values-within-vector-using-Translation-vector-tp22088527p22088527.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list