R 如何查找字符串
我有一个df如下 df: 我想搜索下面的df代码R 如何查找字符串,r,R,我有一个df如下 df: 我想搜索下面的df代码 Name | ----------------+ aman,akash,rudra| Tushar,aman | Kartik | rudra,akash | 低于结果 Name |code ----------------+----- aman,akash,rudra|ijk Tushar,aman |jkl Kartik |efg rud
Name |
----------------+
aman,akash,rudra|
Tushar,aman |
Kartik |
rudra,akash |
低于结果
Name |code
----------------+-----
aman,akash,rudra|ijk
Tushar,aman |jkl
Kartik |efg
rudra,akash |ghi
请注意,“rudra,akash”的组合出现了三次,在这种情况下,它返回结果字母顺序的代码
让我知道是否有办法实现这一点。我们可以使用
cSplit
fromsplitstackshape
来拆分“Name”列,并将其重塑为“long”格式(“dfN”),按“code”分组,运行长度id为“code”,我们在排序后粘贴名称。对“df2”执行相同的操作,匹配两个数据集中的“Name”列,并在“dfN”中获取与在“df2”中创建新列“code”相对应的“code”
library(splitstackshape)
dfN <- cSplit(df, "Name", ",", "long")[, .(Name = paste(sort(Name), collapse=",")),
by = .(grp = rleid(Code), Code)]
df2$grp <- seq_len(nrow(df2))
df2$code <- cSplit(df2, "Name", ",", "long")[, .(Name = paste(sort(Name),
collapse=",")), .(grp)][, dfN$Code[match(Name, dfN$Name)]]
df2$grp <- NULL
df2
# Name code
#1 aman,akash,rudra ijk
#2 Tushar,aman jkl
#3 Kartik efg
#4 rudra,akash ghi
库(splitstackshape)
dfN@RonakShah的真实数据集非常大。这只是一个样本集。。。所以在前面的问题中,soution得到了所有代码的值,其中名称由“aman,akash,rudra”组成,这里我只想得到按字母顺序排列的代码wen的第一个值,这里我想得到一大组名称组合的答案,然后在前面问(2)@akrun为什么不?看起来差不多me@Jaap不是。我在重复我自己的话。。让我知道,如果你在前面的问题中需要更多的说明,soution会得到所有代码的值,其中名称由“aman,akash,rudra”组成。在这里,我只想得到按字母顺序排列的代码的第一个值。在这里,我想得到一大组名称组合的答案,然后在前面询问(2)@你有权重新打开。通过不这样做,我认为你也认为这是一个合法的复制品。@akrun,这是一个错误的指控。你为什么这么认为?
library(splitstackshape)
dfN <- cSplit(df, "Name", ",", "long")[, .(Name = paste(sort(Name), collapse=",")),
by = .(grp = rleid(Code), Code)]
df2$grp <- seq_len(nrow(df2))
df2$code <- cSplit(df2, "Name", ",", "long")[, .(Name = paste(sort(Name),
collapse=",")), .(grp)][, dfN$Code[match(Name, dfN$Name)]]
df2$grp <- NULL
df2
# Name code
#1 aman,akash,rudra ijk
#2 Tushar,aman jkl
#3 Kartik efg
#4 rudra,akash ghi