R 将向量中的值替换为索引向量
下面的示例显示了向量中某些元素的替换。应该替换的元素由key给出,新值由val给出。您建议在r中使用哪种方法R 将向量中的值替换为索引向量,r,replace,R,Replace,下面的示例显示了向量中某些元素的替换。应该替换的元素由key给出,新值由val给出。您建议在r中使用哪种方法 set.seed(1) x<-sample(1:10,20,T) key<-1:10 val<-sample(1:3,10,T) y<-numeric(length(x)) for(i in 1:length(key)) y[x==key[i]]<-val[i] set.seed(1) x您可以尝试像这样使用match x <- v
set.seed(1)
x<-sample(1:10,20,T)
key<-1:10
val<-sample(1:3,10,T)
y<-numeric(length(x))
for(i in 1:length(key))
y[x==key[i]]<-val[i]
set.seed(1)
x您可以尝试像这样使用match
x <- val[ match( x , key ) ]
x您可以尝试像这样使用match
x <- val[ match( x , key ) ]
x您还没有问过这个问题吗。我认为你应该研究一下你之前问题的答案。尤其地它包含了答案!这也不会像预期的那样工作,因为您正在更改x
的元素,然后再次以递归方式与key
进行比较。e、 g.循环后的第10个元素是2,应该是3。@SimonO101,我编辑了起始帖子,但在这种情况下我看不到如何使用匹配?您是否将y
与我下面的答案进行了比较?!:-)你没问我这个问题吗。我认为你应该研究一下你之前问题的答案。尤其地它包含了答案!这也不会像预期的那样工作,因为您正在更改x
的元素,然后再次以递归方式与key
进行比较。e、 g.循环后的第10个元素是2,应该是3。@SimonO101,我编辑了起始帖子,但在这种情况下我看不到如何使用匹配?您是否将y
与我下面的答案进行了比较?!:-)