![](/img/trans.png)
[英]How to create a new column with multiple values based on another column in R
[英]How to create new column in R based on missing values
我有以下数据
Sample_ID<-c("a1","a2","a3","a4","a5","a6")
Score<-c(100, 200, 300, 400, NA, NA)
DF<-data.frame(Sample_ID,Score)
如何创建一个名为Score_status
的新变量,其中所有具有 NA(缺失值)的样本将被编码为 0,而那些具有分数的样本将被编码为 1。我正在寻找以下 output。
Sample_ID Score Score_status
a1 100 1
a2 200 1
a3 400 1
a4 NA 0
a5 NA 0
如何在 R 中执行此操作。
你可以试试:
DF$Score_status <- ifelse(is.na(DF$Score),0,1)
Sample_ID Score Score_status
1 a1 100 1
2 a2 200 1
3 a3 300 1
4 a4 400 1
5 a5 NA 0
6 a6 NA 0
DF$Score_status <- 1
DF$Score_status[is.na(DF$Score)] <- 0
# Sample_ID Score Score_status
# 1 a1 100 1
# 2 a2 200 1
# 3 a3 300 1
# 4 a4 400 1
# 5 a5 NA 0
# 6 a6 NA 0
您可以使用transform
,并使用+
将.is.na
转换为二进制数。
DF <- transform(DF, Score_status=+!is.na(Score))
DF
# Sample_ID Score Score_status
# 1 a1 100 1
# 2 a2 200 1
# 3 a3 300 1
# 4 a4 400 1
# 5 a5 NA 0
# 6 a6 NA 0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.