如何在R中使用函数替换数据框中的字符值

时间:2015-11-18 11:22:09

标签: r

我有一个数据框

max1 max2 max3 max4 max5 max6 max7 max8 max9 max10
  x9   x8   x7   x6  x10   x5   x4   x2   x1    x3 
  x5   x3   x4   x6  x10   x1   x7   x2   x8    x9

我的预期输出应为:

max1 max2 max3 max4 max5 max6 max7 max8 max9 max10
abc   ab   cf   cd  zx   vb   qw   er   gh   fg 
 vb   fg   qw   cd  zx   gh   cf   er    ab  abc

这是一个巨大的数据,我希望它像一个函数和使用数组。

1 个答案:

答案 0 :(得分:2)

我们创建另一个vector('lvls2'),其顺序与'df1'('lvls')的unique元素的顺序相同,然后遍历列({{1} }),转换为lapply(,指定factor,然后重新转换回labels,并将其分配给原始数据集。

character

数据

df1[] <- lapply(df1, function(x) as.character(factor(x, 
                    levels=lvls, labels=lvls2)))