R语言中观测值与变量的选择方法
1. 使用逻辑条件选择观测值
可以通过TRUE/FALSE逻辑向量来选择观测值,既可以手动输入,也能通过指定逻辑条件创建。下面是手动输入逻辑向量选择数据集前四行的示例:
myRows <- c(TRUE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE, FALSE)
print( mydata[myRows, ] )
在Stata中,数字1和0可分别代表TRUE和FALSE,但在R中直接使用会出现问题。例如:
myBinary <- c(1, 1, 1, 1, 0, 0, 0, 0)
print( mydata[myBinary, ] )
这里会重复请求第一行四次,因为在R中,行索引为1表示请求第一行,索引值为0会被忽略。可以使用 as.logical
函数解决此问题:
myRows <- as.logical(myBinary)
print( mydata[myRows, ] )
也可以使用逻辑语句生成逻辑向量,如:
mydata$gender=="f"
该语句会将 gender
向量中的每个值与“f”进行比较,返回一个TRUE/FALSE逻辑向量