0

13 文字 (2000 行) の列があります。そして、それらを価値に変換したいと思います。この値は、特定の文字に割り当てられたすべての値の合計である必要があります。例

c<-"NAHLA" 

Now lets say 
N<-1
A<-2
L<-3
H<-2

合計は 10 になります。

置換機能を使用しようとしましたが、複数の文字に対しては使用できませんでした:/

sum(replace( ? )) および sapply で囲まれたすべての列

4

1 に答える 1

6

私はこのようなことをしたい:

x <- "NAHLA"
> key <- c(N = 1, A = 2, L = 3,H = 2)
> sum(key[strsplit(x,"")[[1]]])
[1] 10

あなたの説明からは、データが実際にどのような形式であるかは少し不明ですが、この一般的な戦略は機能するはずです。たとえば、xより多くの要素があった場合、次のようになります。

sapply(strsplit(x,""),function(y) sum(key[y]))
于 2013-05-24T15:23:52.673 に答える