【问题标题】:Creating new column based on other columns in data frame in R [closed]基于R中数据框中的其他列创建新列[关闭]
【发布时间】:2022-01-25 14:24:45
【问题描述】:

我有一个三列四行的数据框。我想根据可用列创建一个新列,以便新列获得相应行的最大值(无论是否存在 NA)。如果都是 NA,则新列将获得 NA。 enter image description here

谢谢。

【问题讨论】:

    标签: r dataframe conditional-statements multiple-columns


    【解决方案1】:

    我们可以使用pmax 和na.rm 指定为TRUE(假设它是一个data.frame 对象并且缺失值是NA)

    df1$new_column <- do.call(pmax, c(df1, na.rm = TRUE))
    

    -输出

    > df1
       A   B   C new_column
    1 98  NA  NA         98
    2 NA  NA  NA         NA
    3 98 100  NA        100
    4 98 100 200        200
    

    数据

    df1 <- data.frame(A = c(98, NA, 98, 98), B = c(NA, NA, 100, 100),
        C = c(NA, NA, NA, 200))
    

    【讨论】:

    • 感谢您提供数据。
    • 感谢您的帮助。如果我想根据数据框中显示多数的可用列创建新列,如果没有多数需要 3,怎么可能?像这样: df1
    • @ShB 为此,我们可能需要使用Mode,然后使用apply(df1, 1, function(x) Mode(na.omit(x)))。如果你想捆绑案例为3,必须修改函数
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多