Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/66.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 将特定值指定为NA_R_Dplyr_Tidyverse_Data Manipulation - Fatal编程技术网

R 将特定值指定为NA

R 将特定值指定为NA,r,dplyr,tidyverse,data-manipulation,R,Dplyr,Tidyverse,Data Manipulation,如何将df$v2==0分配为NA v1 <- c("1","2","3","4","5") v2 <- c("a","b","c","d","0") df <- cbind(v1,v2) df 非常感谢您可以直接分配: df$v2[df$v2 == 0] <- NA df # v1 v2 #1 1 a #2 2 b #3 3 c #4 4 d #5 5 <NA> 数据 df <- data.frame(v1

如何将df$v2==0分配为NA

v1 <- c("1","2","3","4","5")
v2 <- c("a","b","c","d","0")

df <- cbind(v1,v2)
df

非常感谢您可以直接分配:

df$v2[df$v2 == 0] <- NA
df

#  v1   v2
#1  1    a
#2  2    b
#3  3    c
#4  4    d
#5  5 <NA>
数据

df <- data.frame(v1,v2, stringsAsFactors = FALSE)
df使用基本R

df[ df$v2 == 0, "v2"] = NA

您还有
数据。表
(如果您的数据集非常大,建议使用此选项)使用“按引用更新”(
:=
运算符)

dt由于df实际上是一个字符串
矩阵
,因此可以使用:

df[df[, 2] == "0", 2] <- NA_character_
但我推荐这里发布的
data.frame
解决方案之一

数据:


v1不要使用
cbind
,除非您明确希望数据是矩阵。在大多数情况下,处理数据帧更好,所以使用
df
df[ df$v2 == 0, "v2"] = NA
df[df[, 2] == "0", 2] <- NA_character_
df
     v1  v2 
[1,] "1" "a"
[2,] "2" "b"
[3,] "3" "c"
[4,] "4" "d"
[5,] "5" NA 
v1 <- c("1","2","3","4","5")
v2 <- c("a","b","c","d","0")
df <- cbind(v1,v2)