Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将R中的数据从字重新分配到二进制1';s和0';s_R - Fatal编程技术网

如何将R中的数据从字重新分配到二进制1';s和0';s

如何将R中的数据从字重新分配到二进制1';s和0';s,r,R,现在我有一列数据是“蓝色”或“绿色”,我希望它显示1表示“蓝色”,0表示“绿色”。有什么帮助吗?逻辑语句的求值可以转换为二进制值 x = c("blue", "green", "blue") as.integer(x == "blue") 逻辑语句的求值可以转换为二进制值 x = c("blue", "green", "blue") as.integer(x == "blue") 一种方法(有几种) vec一种方法(有几种) vec另一种方法 vec[vec=="blue"] <-1

现在我有一列数据是“蓝色”或“绿色”,我希望它显示1表示“蓝色”,0表示“绿色”。有什么帮助吗?

逻辑语句的求值可以转换为二进制值

x = c("blue", "green", "blue")
as.integer(x == "blue")

逻辑语句的求值可以转换为二进制值

x = c("blue", "green", "blue")
as.integer(x == "blue")
一种方法(有几种)

vec一种方法(有几种)

vec另一种方法

vec[vec=="blue"] <-1
vec[vec=="green"] <-0
as.numeric(vec)
#[1] 1 0 1 0 1 0
vec[vec==“blue”]另一种方法

vec[vec=="blue"] <-1
vec[vec=="green"] <-0
as.numeric(vec)
#[1] 1 0 1 0 1 0

vec[vec==“blue”]这是一种比目前给出的其他几种方法更安全的方法,因为它不会对输入向量
x
中出现的
“blue”
“green”
以外的值进行无提示的错误编码:

x <- c("blue", "green", "blue", "blue", "red")
match(x, c("green", "blue")) - 1
# [1]  1  0  1  1 NA

x这是一种比目前给出的其他几种方法更安全的方法,因为它不会对输入向量中出现的
蓝色
绿色
以外的值进行无声错误编码
x

x <- c("blue", "green", "blue", "blue", "red")
match(x, c("green", "blue")) - 1
# [1]  1  0  1  1 NA

x这是可行的,但我必须在c()中包含列名,否则它只为我放在括号中的前3个值提供二进制。非常感谢你的帮助,在这么小的事情上挂断电话是令人沮丧的!这是可行的,但我必须在c()中包含列名,否则它只为我放在括号中的前3个值提供二进制。非常感谢你的帮助,在这么小的事情上挂断电话是令人沮丧的!您还可以使用索引来实现类似的结果:
vals@thelatemail——非常好。这甚至更好。您还可以使用索引来实现类似的结果:
vals@thelatemail——非常好。那更好。我很惊讶没有人建议你使用逻辑向量,这更有意义:
是蓝色的我很惊讶没有人建议你使用逻辑向量,这更有意义:
是蓝色的