现在我有一列数据为“蓝色”或“绿色”,我希望它显示1表示“蓝色”,0表示“绿色”。有什么帮助吗?
答案 0 :(得分:3)
逻辑语句的评估可以转换为二进制值。
x = c("blue", "green", "blue")
as.integer(x == "blue")
答案 1 :(得分:3)
这是一种比目前为止给出的其他几种方法更安全的方法,因为它不会默默地错误编码输入向量中"blue"
或"green"
以外的值{{1 }}:
x
或者(甚至更容易任意扩展),使用以下(h.t. thelatemail):
x <- c("blue", "green", "blue", "blue", "red")
match(x, c("green", "blue")) - 1
# [1] 1 0 1 1 NA
答案 2 :(得分:1)
一种方法(有几种)
vec <-rep(c("blue","green"),3)
ifelse(vec=="blue",1,0)
#[1] 1 0 1 0 1 0
答案 3 :(得分:1)
另一种方法
vec[vec=="blue"] <-1
vec[vec=="green"] <-0
as.numeric(vec)
#[1] 1 0 1 0 1 0