r - 删除 R 中每个字符串的重复值
问题描述
我有一个包含两列的数据框:
VAR1. VAR2.
A. 102 million; 102 million
B. 0.1 million; 2 million; 0.1 million; 2 million
我想删除 VAR2 的重复值。对于每一行,获得
VAR1. VAR2.
A. 102 million
B. 0.1 million; 2 million
我能怎么做?
谢谢你的建议。
解决方案
使用基础 R,我们可以将字符串";"
拆分paste
unique
为VAR2
sapply(strsplit(df$VAR2, ";"), function(x) paste(unique(x), collapse = ";"))
#[1] "102 million" "0.1 million;2 million"
使用dplyr
andtidyr
我们可以使用separate_rows
来VAR2
引入不同的行,然后每个组 paste
只输入条目。unique
library(dplyr)
library(tidyr)
df %>%
separate_rows(VAR2, sep = ";") %>%
group_by(VAR1) %>%
summarise(VAR2 = paste(unique(VAR2), collapse = ";"))
# VAR1 VAR2
# <fct> <chr>
#1 A 102 million
#2 B 0.1 million;2 million
推荐阅读
- flutter - StreamProvider:避免重复构建
- c# - 使用 System.Text.Json 将 IConfiguration 序列化回 Json
- python - 在 extras_require 中声明可选依赖项
- python - 如何在不使用 turtle.mainloop() 的情况下停止海龟冻结?
- css - 重用 css 元素
- windows - Windows 将 x.509 主题字段中的状态显示为 S=
- lighthouse - 默认情况下,灯塔为移动设备提供性能分数,如何获得桌面设备的性能分数?以编程方式使用节点模块
- ios - 如果应用程序在后台运行 iOS13,Firebase 动态链接将不起作用
- node.js - 纱线自动凹凸版
- find - find + xargs + ctags 不知何故缺少整个子目录的标签