R:替换另一个数据框中存在的值
我想在 R 中可视化多个数据集。不幸的是,数据集之间的命名法不一致或使用同义词(例如“apple”拼写为“apple”、“Apple”和“APPLE”)。
我有一个跨数据集引用命名法的数据框:
名称数据集 A | 名称数据集 B | 名称数据集 C |
---|---|---|
Apple | APPLE | apple |
Pear | PEAR | NA |
Melon | NA | melon |
我想让事情保持一致,例如迭代数据集 B 和 C 并将其命名法替换为数据集 A 的数据集(如果可用)。有人有什么建议吗?
提前致谢!
I have multiple datasets that I would like to visualize in R. Unfortunately, the nomenclatur across datasets is not consistent or uses synonyms (e.g. "apple" is spelled "apple", "Apple" and "APPLE").
I have a dataframe that references the nomenclatur across datasets:
Name Dataset A | Name Dataset B | Name Dataset C |
---|---|---|
Apple | APPLE | apple |
Pear | PEAR | NA |
Melon | NA | melon |
I would like to make things consistent, e.g. to iterate through datasets B and C and replace their nomenclatur with that of dataset A (if available). Would anyone have any recommendations?
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您只想修改某些字符的大小写,也许您可以将数据转换为列表,然后递归地应用函数。您可以尝试这样的操作:
然后您可以将函数应用于每个元素,例如,使用
rapply
输出
可以对列表应用其他字符串操作,例如,搜索模式并使用
gsub( )
和lapply()
:输出
您还可以使用
rapply
实现类似的方法:根据数据的结构,您还可以连接数据框,然后将函数应用为需要。
If you only want to modify the capitalization of some characters, perhaps you can convert the data to a list and then apply a function recursively. You can try something like this:
Then you can apply the functions to each element, e.g., transform all the words to lower case using
rapply
Output
Additional string manipulation can be applied to the list, e.g., searching for a pattern and replace using
gsub()
andlapply()
:Output
You can also have a similar approach using
rapply
:Depending on the structure of your data, you can also join the data frames and then apply the functions as needed.
如果您有这样的名称和数据:
我会做类似的事情:
该线程也可能对您正在做的事情有帮助:根据查找表替换数据框中的值
If you have names and data like this:
I'd do something like:
This thread may be helpful for what you are doing too: Replace values in a dataframe based on lookup table