【问题标题】:R - function which has a data frame parameter doesn't workR - 具有数据框参数的函数不起作用
【发布时间】:2016-03-30 11:46:17
【问题描述】:

我做了一个简单的代码,可以将索引号更改为名称

change_name = function(x) {
  valid_user[match(x, valid_user$id),'name']
}

并将此函数应用于 data.frame。

Data.frame 名称为“ga.screen”,列名称为“dimension1”。

ga.screen[, 'dimension1'] =sapply(ga.screen[, 'dimension1'], change_name)

效果很好。

接下来我想让这个代码功能能够适用于各种情况。

readable_user_id = function(data, col) {
  data[, col] = sapply(data[, col], change_name)
}
readable_user_id(ga.screen, 'dimension1')

这是完全相同的代码,但后一个不起作用!

为什么会这样?这是一个在功能中不起作用的sapply 问题吗?还是这是data.frame 不能作为参数传递的问题?

【问题讨论】:

    标签: r function sapply


    【解决方案1】:

    你的函数应该返回修改后的data,试试

    readable_user_id = function(data, col) {
       data[, col] = sapply(data[, col], change_name)
       data
    }
    

    【讨论】:

    • 谢谢!我错过了函数的返回
    • 也许标题并没有真正反映您现在的问题?这个问题可能已经结束了?
    猜你喜欢
    • 2017-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 1970-01-01
    • 2015-07-23
    相关资源
    最近更新 更多