【问题标题】:R functions that output datasets输出数据集的 R 函数
【发布时间】:2014-04-25 21:48:37
【问题描述】:

我对 R 有点陌生,正在尝试使用函数来输出数据帧。我有几个需要重复数据删除的数据框。数据框中的每条记录都有一个索引变量 (RecID) 和一个患者 ID (PatID)。如果数据框中多次列出患者,我想选择记录最大的 RecID。

我希望能够更改此数据框:

PatID   RecID
1       1
1       2
2       3
3       4
3       5
4       6

进入这个数据框

PatID    RecID
1        2
2        3
3        5
4        6

我可以使用以下代码成功地对数据帧进行重复数据删除。

df <- df[order(df$PatID, -df$RecID),]
df <- df[ !duplicated(df$PatID), ]

我使用此代码创建了一个函数,因此我可以轻松地将我的重复数据删除方案应用于多个数据帧。

dedupit <- function(x) {
    x <- x[order(x$PatID, -x$RecID),]
    x <- x[ !duplicated(x$PatID), ]
  }

但是,当我使用代码dedupit(df) 时,它不会创建具有去重记录的新 df 数据帧。该函数不会输出最终数据帧或任何中间数据帧。有没有办法让函数输出数据帧?

【问题讨论】:

  • 你需要从函数中返回。将return(x) 作为函数 defn 的最后一行。
  • 啊哈。谢谢。这很有帮助!

标签: r function dataframe output


【解决方案1】:

您需要将 return(x) 放在函数的末尾。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 1970-01-01
    • 2021-06-03
    • 2015-12-03
    • 2020-12-07
    • 2020-04-21
    • 2013-10-18
    相关资源
    最近更新 更多