将NA移到数据框中每一列的末尾

erc

我有这样一个数据框:

df <- structure(list(a = c(NA, NA, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L), b = c(NA, NA, NA, 1L, 2L, 3L, 4L, 5L, 6L, 7L), d = c(NA, NA, NA, NA, 1L, 2L, 3L, 4L, 5L, 6L)), .Names = c("a", "b", "d"), row.names = c(NA, -10L), class = "data.frame")

> df
    a  b  d
1  NA NA NA
2  NA NA NA
3   1 NA NA
4   2  1 NA
5   3  2  1
6   4  3  2
7   5  4  3
8   6  5  4
9   7  6  5
10  8  7  6

在每一列中,我想将非NA值移至开头,并将NAs移至结尾:

> df.out
    a  b  d
1   1  1  1
2   2  2  2
3   3  3  3
4   4  4  4
5   5  5  5
6   6  6  6
7   7  7 NA
8   8 NA NA
9  NA NA NA
10 NA NA NA

更新以使我的问题更清楚..

df <- structure(list(a = c(NA, NA, 1, 5, 34, 7, 3, 5, 8, 4), b = c(NA, 
NA, NA, 57, 2, 7, 9, 5, 12, 100), d = c(NA, NA, NA, NA, 5, 7, 
2, 8, 2, 5)), .Names = c("a", "b", "d"), row.names = c(NA, -10L
), class = "data.frame")

> df
    a   b  d
1  NA  NA NA
2  NA  NA NA
3   1  NA NA
4   5  57 NA
5  34   2  5
6   7   7  7
7   3   9  2
8   5   5  8
9   8  12  2
10  4 100  5

应导致:

    a   b  d
1   1  57  5
2   5   2  7
3  34   7  2
4   7   9  8
5   3   5  2
6   5  12  5
7   8 100 NA
8   4  NA NA
9  NA  NA NA
10 NA  NA NA

看起来很容易,但是我从哪里开始。

帕斯卡

在完全误解了问题之后,这是我的最终答案:

# named after beetroot for being the first to ever need this functionality
beetroot <- function(x) {
    # count NA
    num.na <- sum(is.na(x))
    # remove NA
    x <- x[!is.na(x)]
    # glue the number of NAs at the end
    x <- c(x, rep(NA, num.na))
    return(x)
}

# apply beetroot over each column in the dataframe
as.data.frame(lapply(df, beetroot))

它将对NA进行计数,删除NA,并在数据帧中每一列的底部粘贴NA。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将数据框中的每一列拆分为两列?

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

使用聚合将多个函数应用于数据框中的每一列

来自分类Dev

在保持每一列的类的同时将行添加到数据框中

来自分类Dev

数据框将每一列保存在单独的CSV文件中

来自分类Dev

将每一列添加到新的数据框中

来自分类Dev

将变量附加到数据框对象中的每一列

来自分类Dev

将 SAS 数据框中的每一列向上移动不同的行数

来自分类Dev

如何总结数据框中的每一列?

来自分类Dev

将数据框的每一列除以数据框的一行

来自分类Dev

awk或sed,将第一列移到末尾?

来自分类Dev

访问每一行并检查数据框中的每一列值

来自分类Dev

如何将今天的日期放在Python数据框的每一行的第一列中?

来自分类Dev

将每一列移动到文件bash的末尾

来自分类Dev

如何将数据框中的每一列重新缩放为0-100比例?(在r中)

来自分类Dev

如何将数据框中的每一列重新缩放为0-100比例?(在r中)

来自分类Dev

将一个数据框的每一列与另一数据框列进行比较,并将每个结果重叠打印到单独的文件中

来自分类Dev

在pandas数据框中添加一列以NA填充

来自分类Dev

在pandas数据框中添加一列以NA填充

来自分类Dev

如何有效地将一个Pandas数据框的每一列与另一数据框的每一列相乘?

来自分类Dev

如何将数据框中的每一列转换为具有 ColumnName 和 ColumnValue 的行

来自分类Dev

将大熊猫数据框的每一列与同一数据框的其他每一列相乘的最有效方法

来自分类Dev

将数据框的每一列除以另一个数据框的所有列

来自分类Dev

HoloViews:为pandas数据框中的每一列创建框线图

来自分类Dev

数据中每一列的ggplot

来自分类Dev

将Pandas数据框转换为每一列的字典列表的最佳方法

来自分类Dev

向数据框列表中的每一列添加列

来自分类Dev

用Python用该列的平均值减去数据框中的每一列

Related 相关文章

  1. 1

    如何将数据框中的每一列拆分为两列?

  2. 2

    R将数据框中的每一列除以最后一行的值

  3. 3

    R将数据框中的每一列除以最后一行的值

  4. 4

    使用聚合将多个函数应用于数据框中的每一列

  5. 5

    在保持每一列的类的同时将行添加到数据框中

  6. 6

    数据框将每一列保存在单独的CSV文件中

  7. 7

    将每一列添加到新的数据框中

  8. 8

    将变量附加到数据框对象中的每一列

  9. 9

    将 SAS 数据框中的每一列向上移动不同的行数

  10. 10

    如何总结数据框中的每一列?

  11. 11

    将数据框的每一列除以数据框的一行

  12. 12

    awk或sed,将第一列移到末尾?

  13. 13

    访问每一行并检查数据框中的每一列值

  14. 14

    如何将今天的日期放在Python数据框的每一行的第一列中?

  15. 15

    将每一列移动到文件bash的末尾

  16. 16

    如何将数据框中的每一列重新缩放为0-100比例?(在r中)

  17. 17

    如何将数据框中的每一列重新缩放为0-100比例?(在r中)

  18. 18

    将一个数据框的每一列与另一数据框列进行比较,并将每个结果重叠打印到单独的文件中

  19. 19

    在pandas数据框中添加一列以NA填充

  20. 20

    在pandas数据框中添加一列以NA填充

  21. 21

    如何有效地将一个Pandas数据框的每一列与另一数据框的每一列相乘?

  22. 22

    如何将数据框中的每一列转换为具有 ColumnName 和 ColumnValue 的行

  23. 23

    将大熊猫数据框的每一列与同一数据框的其他每一列相乘的最有效方法

  24. 24

    将数据框的每一列除以另一个数据框的所有列

  25. 25

    HoloViews:为pandas数据框中的每一列创建框线图

  26. 26

    数据中每一列的ggplot

  27. 27

    将Pandas数据框转换为每一列的字典列表的最佳方法

  28. 28

    向数据框列表中的每一列添加列

  29. 29

    用Python用该列的平均值减去数据框中的每一列

热门标签

归档