【发布时间】:2015-09-06 15:11:13
【问题描述】:
我正在尝试检查一个变量的值,如果它满足某个条件,则将新变量设置为 1,否则将其设置为零。
我在 R 中遇到了困难。
这个简单的代码不起作用:
attach(data)
if (Drug = 1) {
Drug_factor <- 0
} else {
if (Drug = 2) {
Drug_factor <- 1
} else Drug_factor<- 0
我不明白为什么这不起作用。 为什么 R 使用如此复杂的约定来做基本的事情?
【问题讨论】:
-
请不要
attach“数据”。您可以使用ifelse,即v1 <- with(Data, ifelse(Drug==1, 0, ifelse(Drug==2, 1, 0))),甚至可以不使用两个ifelse。但是一个例子会很有用,因为我不知道你的数据是什么样子的。 -
如果'Drug'中只有两个值,我们可以使用
with(Data, factor(Drug, levels=1:2, labels=0:1)),也可以通过其他方式完成。
标签: r