R -

2016-03-30 27 views
0

çalışmayan bir veri çerçevesi parametresi vardır fonksiyonu Ben dizin numarasıR -

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

isim değiştirip data.frame için bu işlevi uygulayabileceğiniz basit bir kod olun.

Data.frame adı 'ga.screen' ve sütun adı 'dimension1'.

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

İyi çalışıyor.

Ve bundan sonra çeşitli durumları uygulayabilen bu kod işlevini yapmak istiyorum.

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

Bu, tamamen aynı koddur, ancak ikincisi çalışmaz!

Neden böyle oluyor? Bu, işlevde çalışmayan bir sapply sorun mu? veya Parametre olarak iletilemeyen bu data.frame sorunu mu?

cevap

3

İşleviniz, modifiye data dönmek

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

Teşekkür denemelisiniz! –

+0

işlevinin geri dönüşünü özledim, belki başlığınız gerçekten sorununuzu yansıtmıyor mu? Ve soru kapatılabilir mi? –