如何从其他变量的级别在R中创建新变量
我有一个包含三个变量的数据框架。每个变量的级别从不重复,事实上它们是一个变量的级别。我需要重新创建这个变量。在R怎么做 dataframe的外观如下所示:如何从其他变量的级别在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)]让您的数据帧被
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)。谢谢!那太好了