我有一个数据框:
col1,col2,
sth1,sth2,
sth2,sth1,
sth3,sth2
和一个列表,其中一列的值来自df,第二列的值与其他名称相同:
valuesdf,valuesnew
sth1,vn1
sth2,vn2
sth3,vn3
我想使用第二个数据帧中的相等值更改初始数据帧中的值,并得到以下结果:
col1,col2,
vn1,vn2,
vn2,vn1,
vn3,vn2
怎么可能成功呢?
答案 0 :(得分:1)
我们可以通过循环第一个数据集('df1')的列和第二个'valuesdf'列来进行match
,并使用该索引从'df2'获取相应的'valuesnew'
df1[] <- lapply(df1, function(x) df2$valuesnew[match(x, df2$valuesdf)])