如何从其他变量的级别在R中创建新变量

如何从其他变量的级别在R中创建新变量,r,R,我有一个包含三个变量的数据框架。每个变量的级别从不重复,事实上它们是一个变量的级别。我需要重新创建这个变量。在R怎么做 dataframe的外观如下所示: Var1: NA NA NA A NA Var2: NA NA B NA NA Var3: C C NA NA C 我希望这三个变量中有一个变量,所以它看起来像这样: Final Var: C C B A C 您首先需要用空单元格替换NA,如下所示 df[is.na(df)] <- " " df[is.na(df)]让您的数据帧被

我有一个包含三个变量的数据框架。每个变量的级别从不重复,事实上它们是一个变量的级别。我需要重新创建这个变量。在R怎么做

dataframe的外观如下所示:

Var1: NA NA NA A NA
Var2: NA NA B NA NA
Var3: C C NA NA C
我希望这三个变量中有一个变量,所以它看起来像这样:

Final Var: C C B A C

您首先需要用空单元格替换NA,如下所示

df[is.na(df)] <- " "

df[is.na(df)]让您的数据帧被称为
dat
,并且只列出变量(没有您不想包含的其他变量,所有变量都具有相同的类型,即字符)。然后可以将数据帧强制为矩阵和向量,并删除
NA
s:

> dat
    V1   V2   V3
1 <NA> <NA>    C
2 <NA> <NA>    C
3 <NA>    B <NA>
4    A <NA> <NA>

> final <- as.vector(as.matrix(dat))
> final <- final[!is.na(final)]
> final
[1] "A" "B" "C" "C"
>dat
V1 V2 V3
1 C
2 C
3 B
4A
>决赛
[1] “A”“B”“C”“C”

这显然是一个R编程问题&有一个可重复的例子。穿上这个应该可以。我将把它迁移到那里。或者,单个命令
dat[!is.na(dat)]
立即完成所有操作(+1)。谢谢!那太好了