首页 > 解决方案 > 如何从其他变量的级别在 R 中创建新变量

问题描述

我有一个包含三个变量的数据框。每个级别从不重复,实际上它们是 ONE 变量的级别。我需要重新创建这个变量。我如何在 R 中做到这一点?

数据框如下所示:

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

标签: r

解决方案


让您的数据框被调用dat,并且只列出变量(没有您不想包含的其他变量,所有变量都具有相同的类型,即字符)。然后您可以将数据框强制转换为矩阵和向量,然后删除NAs:

> 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"

推荐阅读