【发布时间】:2013-03-22 06:02:35
【问题描述】:
假设我有一个向量 x 包含 20 个介于 0 和 2 之间的值。
x = runif(20, 0, 2)
现在,我想在以下条件下创建另一个向量 y(二进制变量),其中仅包含 0 和 1:y = 0 如果 x < 1 和 y = 1 如果 x > 1。
我尝试通过以下方式使用循环和if 语句:
x = runif(20, 0, 2) # Create a vector of 20 values between 0 and 2
y = rep(5, 20) # Create a vector of 20 values (only 5's)
for(i in 1:length(x)) # Loop that assigns values to the y vector depending on x
{
if(x < 1)
{
y[i] = 0
}
else
{
y[i] = 1
}
}
但不幸的是,它没有按计划工作,因为我的y 向量最终只包含 0。我做错了什么?谢谢你:)
【问题讨论】:
标签: r if-statement for-loop