小编bio*_*ian的帖子

R合并数据帧,允许不精确的ID匹配(例如,附加字符1234匹配ab1234)

我正在尝试处理一些非常混乱的数据.我需要通过样本ID合并两个包含不同类型数据的大数据帧.问题是一个表的样本ID有许多不同的格式,但大多数都包含所需的ID字符串,用于匹配其ID中的某个位置,例如,一个表中的样本"1234"在另一个表中具有"ProjectB(1234)"的ID .

我做了一个简单的可重复的例子.

a<-data.frame(aID=c("1234","4567","6789","3645"),aInfo=c("blue","green","goldenrod","cerulean"))
b<-data.frame(bID=c("4567","(1234)","6789","23645","63528973"), bInfo=c("apple","banana","kiwi","pomegranate","lychee"))
Run Code Online (Sandbox Code Playgroud)

使用merge可以获得部分方法:

merge(a,b, by.x="aID", by.y="bID", all=TRUE)

       aID     aInfo       bInfo
1     1234      blue        <NA>
2     3645  cerulean        <NA>
3     4567     green       apple
4     6789 goldenrod        kiwi
5   (1234)      <NA>      banana
6    23645      <NA> pomegranate
7 63528973      <NA>      lychee
Run Code Online (Sandbox Code Playgroud)

但是喜欢的输出基本上是:

        ID     aInfo       bInfo
1     1234      blue      banana
2     3645  cerulean pomegranate
3     4567     green       apple
4     6789 goldenrod        kiwi
5 63528973      <NA>      lychee
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有办法将grep纳入这个或另一个R-tastic方法?

提前致谢

regex merge grep r dataframe

8
推荐指数
2
解决办法
2704
查看次数

按组和变量名称在R数据框中缩放值

我希望将一大组缩放因子应用于数据框,这些因子特定于样本来自的组,特别是样本的每个变量.我试图为这个问题构建一个最小的例子.

缩放因素

Batch A     B
Q     1.01  1.31
R     0.90  1.22
S     1.04  1.09
Run Code Online (Sandbox Code Playgroud)

数据

Batch A     B
Q     23    10
Q     22    11
R     27    12
R     26    13
S     22    14
S     24    15
Run Code Online (Sandbox Code Playgroud)

那么,比方说,批次Q样本1将从23,10到23.23,13.1

我意识到在解决方案中可能会有一个应用,但我正在努力找出从哪里开始.任何帮助非常感谢:-)

scaling_factors_example<-data.frame(Batch=c("Q","R","S"),A=c(1.01,0.9, 1.04), B=c(1.31, 1.22, 1.09))

data_example<-data.frame(Batch=c("Q","Q","R","R","S","S"), A=c(23,22,27,26,22,24), B=c(10,11,12,13,14,15))
Run Code Online (Sandbox Code Playgroud)

r multiplication apply

2
推荐指数
1
解决办法
489
查看次数

标签 统计

r ×2

apply ×1

dataframe ×1

grep ×1

merge ×1

multiplication ×1

regex ×1