r通过ID [duplicate]重新排列行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了r通过ID [duplicate]重新排列行相关的知识,希望对你有一定的参考价值。

此问题已经在这里有了答案:

假设这是我的数据集

  Id    Name     Score     Fear     Satisfaction
  1     A        10        NA       NA
  1     B        11        NA       NA
  1     A        NA        23.2     NA
  1     B        NA        34.1     NA
  1     A        NA        NA       42.11
  1     B        NA        NA       31.19

我如何清理此数据集,以使所有行都像下面这样正确对齐,并且下面没有太多不必要的NA呢

 Id    Name     Score     Fear     Satisfaction
  1     A        10        23.2     42.11
  1     B        11        34.1     31.19

抱歉,我无法更准确地解释这一点,但我认为该示例应该有所帮助。提前致谢。

答案

假设示例中每组和每列具有相等数量的非NA值,我们可以group_by IdName并删除NA

library(dplyr)

df %>%  group_by(Id, Name) %>%  summarise_all(na.omit)

#     Id Name  Score  Fear Satisfaction
#  <int> <fct> <int> <dbl>        <dbl>
#1     1 A        10  23.2         42.1
#2     1 B        11  34.1         31.2
另一答案

如果您的列数有限,那么我认为这是最好的方法:

SELECT * 
FROM <table_name> 
WHERE 
       Score IS NOT NULL
   AND Fear IS NOT NULL 
   AND Satisfaction IS NOT NULL

以上是关于r通过ID [duplicate]重新排列行的主要内容,如果未能解决你的问题,请参考以下文章

根据设备方向将子视图从 2 行重新排列为 1

使用拖放重新排列 HTML 表格行

重新排列数据

通过jQuery根据位置动态重新排列国家下拉列表?

如何在R中排列和选择以下行?

重新排列文本文件中的行列