如果焦点变量是NA,则在R中创建具有“替换”变量值的汇总变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如果焦点变量是NA,则在R中创建具有“替换”变量值的汇总变量相关的知识,希望对你有一定的参考价值。
我有个问题。我的数据集中有三个“国籍”变量(作为三个单独的列):
- “Nationality_birth”
- “Nationality_now”
- “Ethnic_difference”(此变量有一个值,如果“Nationality_birth”和“nation_now”正在发散 - 表示某人感觉更加分离的两个国籍中的哪一个 - ,否则NA)
现在我想创建第四个变量“国籍”,它基于“国籍_差异”(焦点变量),但如果“国籍_差异”是NA,则具有“国籍”(替代变量)的值。
我尝试了以下代码:
data$Nationality <- data$Nationality_difference
data$Nationality[is.na(data$Nationality_difference)] <- data$Nationality_birth
我收到以下错误:
Error in data$Nationality[is.na(data$Nationality_difference)] <- data$Nationality_birth :
replacement has length zero
我错过了什么?
非常感谢提前!
答案
你可以试试:
data$Nationality <-
ifelse(!is.na(data$Nationality_difference),
data$Nationality_difference,
data$Nationality_birth)
以上是关于如果焦点变量是NA,则在R中创建具有“替换”变量值的汇总变量的主要内容,如果未能解决你的问题,请参考以下文章