在R中编写函数时传递字符串/字符参数

时间:2016-10-18 04:27:24

标签: r string function character

例如,我正在尝试编写此函数,将概率表转换为R中的data.frame。我希望参数“na”成为此数据框的第一个colname。

  prop_table_to_df <- function(table, nm){
     data.frame(nm = factor(names(table)), Percentage = table)
  }

假设我调用了一个函数(sk_table,“age_group”) 预期的输出是这个

        age_group Percentage
(15,20]   (15,20]  0.4518717
(20,25]   (20,25]  0.3118461
(25,30]   (25,30]  0.2136201
(30,35]   (30,35]  0.1863965

但输出是

             nm   Percentage
(15,20]   (15,20]  0.4518717
(20,25]   (20,25]  0.3118461
(25,30]   (25,30]  0.2136201
(30,35]   (30,35]  0.1863965

我该如何解决这个问题?显然,在这种情况下,当写入函数时,R不接受字符串或字符作为参数。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

在制作data.frame之后,您必须添加另一行来重命名。我已经在下面做了,将新df的第一列重命名为函数输入nm。

prop_table_to_df <- function(table, nm){
    df = data.frame(nm = factor(names(table)), Percentage = table)
    colnames(df)[1] = nm #rename first column to value of nm
    return(df)
}