我正在尝试在R中编写一个循环,以对称为datasetA
和的两个数据集执行一些迭代datasetB
。
datasetA
有600个条目,datasetB
有200'000个条目。对于中的每个条目datasetA
,我要执行以下操作:
如果V2
两个数据集中的值相等,则计算ppm:
(datasetA$V3 - datasetB$V3) / datasetA$V3 * 1000000
如果ppm <| 10 |,则将ppm值粘贴到中的V4
列中datasetB
,将的相关名称粘贴到datasetA$V1
中的列V1
中datasetB
。
说这datasetA
有600个条目:
datasetA<- read.table(text='Alex 1 50.00042
John 1 60.000423
Janine 3 88.000123
Aline 3 117
Mark 2 79.9999')
这是datasetB
带有200000条目的示例:
datasetB<- read.table(text='NA 1 50.0001 NA
NA 1 50.00032 NA
NA 2 70 NA
NA 2 80 NA
NA 3 88.0004 NA
NA 3 100 NA
NA 3 101 NA
NA 2 102 NA')
决赛桌应如下所示:
datasetC <- read.table(text='Alex 1 50.0001 6.459945
Alex 1 50.00032 2.059983
NA 2 70 NA
Mark 2 80 -1.25
Janine 3 88.0004 -3.14772
NA 3 100 NA
NA 3 101 NA
NA 2 102 NA')
data<-datasetB
for(i in 1:5){
for(j in 1:8){
if (datasetA$V2[i]==datasetB$V2[j] & abs((datasetA$V3[i]-datasetB$V3[j])/datasetA$V3[i]*10**6)<10){
data[j,1]=datasetA[i,1]
data[j,4]=(datasetA$V3[i]-datasetB$V3[j])/datasetA$V3[i]*10**6
}}}
data
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句