Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将向量中的值替换为索引向量_R_Replace - Fatal编程技术网

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

下面的示例显示了向量中某些元素的替换。应该替换的元素由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 <- 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
与我下面的答案进行了比较?!:-)