R - 具有数据帧参数的功能不起作用

时间:2016-03-30 11:46:18

标签: r function sapply

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

select  locvalue.LocaliZationKeyId, locvalue.LanguageId 
from languages lang left join localizationvalues locvalue
on lang.Id = locvalue.LanguageId
left join [LocalizationKeys] locKey
on lockey.Id = locvalue.LocalizationKeyId

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

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

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

效果很好。

接下来我想制作能够应用各种情况的代码功能。

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问题是否无法作为参数传递?

1 个答案:

答案 0 :(得分:3)

您的函数应该返回修改后的data,请尝试

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