R 基于另一个向量的值重新指定向量索引的值时出现问题

R 基于另一个向量的值重新指定向量索引的值时出现问题,r,indexing,R,Indexing,我正在尝试做一个预测值的向量。这方面的命令是基本的,但仍然会抛出相同的错误。为什么下面的代码让“ww”仍然充满1 pp<-runif(100) ww<-rep(1,100) ww[pp>.5]=1 ppOP将向量“ww”构造为1的向量。然后,在第三行中,用pp创建一个逻辑向量,并用1再次替换ww中的1。如果打算用“pp”替换这些值,则使用ifelse ifelse(pp > .5, pp, ww) 或者在赋值的两边使用逻辑向量 ww[pp > 0.5] <

我正在尝试做一个预测值的向量。这方面的命令是基本的,但仍然会抛出相同的错误。为什么下面的代码让“ww”仍然充满1

pp<-runif(100)
ww<-rep(1,100)
ww[pp>.5]=1

ppOP将向量“ww”构造为1的向量。然后,在第三行中,用
pp
创建一个逻辑向量,并用1再次替换ww中的1。如果打算用“pp”替换这些值,则使用
ifelse

ifelse(pp > .5, pp, ww)
或者在赋值的两边使用逻辑向量

ww[pp > 0.5] <- pp[pp > 0.5]
ww[pp>0.5]0.5]

OP将向量“ww”构造为1的向量。然后,在第三行中,用
pp
创建一个逻辑向量,并用1再次替换ww中的1。如果打算用“pp”替换这些值,则使用
ifelse

ifelse(pp > .5, pp, ww)
或者在赋值的两边使用逻辑向量

ww[pp > 0.5] <- pp[pp > 0.5]
ww[pp>0.5]0.5]

rep用100“1”填充ww。

rep用100“1”填充ww。

因为您将“ww”创建为1的向量,然后将其替换为1。因此,它并没有改变值是否要用“pp”的值填充“ww”?因为您将“ww”创建为1的向量,然后用1替换。因此,它没有改变值您想用“pp”的值填充“ww”吗?请在回答中提供更多详细信息请在回答中提供更多详细信息