Skip to content

Given two data frames, this function matches their rows based on the intersection of a unique sample identifier column, idcol. The returned data frames are ordered by idcol and containing only rows based on the intersection of idcol values.

Usage

match_samples(x, y, idcol = "SampleId")

Arguments

x, y

The two data frames to match samples against.

idcol

character(1). The name of the column containing sample identifiers in both x and y.

Value

A named list with x and y, matched and ordered based on idcol.

Examples

df    <- head(simdata, 25L)
train <- withr::with_seed(1, dplyr::sample_n(df, 15L))
new   <- withr::with_seed(2, dplyr::sample_n(df, 15L))
intersect(train$SampleId, new$SampleId)  # overlapping IDs exist
#> [1] "001" "002" "011" "022" "016" "006" "023"

dfs <- match_samples(train, new)
dfs
#> $train
#>             id class_response reg_response       time status SampleId
#> 51966571_1 001        control   -366.35853 0.17938352      1      001
#> 28704098_1 002        control    619.94832 0.16790617      1      002
#> 74703475_1 006        control   1058.02773 0.45642321      0      006
#> 51134040_1 011        control     48.80594 2.37070639      0      011
#> 93503102_1 016        control    223.59018 0.24184832      0      016
#> 46713227_1 022        control    567.17647 0.03049982      1      022
#> 65338817_1 023        control   -263.84427 0.25094150      1      023
#>             SlideId Subarray    SiteId age gender HybControlNormScale
#> 51966571_1 51966571        1  Isengard  56      M           0.6687581
#> 28704098_1 28704098        1 Rivendell  40      F           1.9342019
#> 74703475_1 74703475        1    Mordor  41      F           2.0788480
#> 51134040_1 51134040        1    Mordor  37      M           1.7756260
#> 93503102_1 93503102        1     Rohan  49      M           2.0030241
#> 46713227_1 46713227        1     Shire  29      M           0.6111657
#> 65338817_1 65338817        1     Rohan  30      M           1.8143705
#>            NormScale_40 NormScale_0_005 NormScale_1 seq.2802.68
#> 51966571_1    1.8977914       0.5510880   0.4316258      2186.8
#> 28704098_1    0.5486117       0.9991240   0.5249539      2591.8
#> 74703475_1    0.7958873       1.2270788   1.0426147      2089.8
#> 51134040_1    1.5700662       1.2384780   1.3697496      3255.9
#> 93503102_1    0.5603863       0.4237175   0.7158650      2477.5
#> 46713227_1    0.7725000       0.8013179   1.0183998      2891.1
#> 65338817_1    1.3366064       0.9539156   1.1823144      2537.3
#>            seq.9251.29 seq.1942.70 seq.5751.80 seq.9608.12 seq.3459.49
#> 51966571_1      2699.1      2189.8      2725.1      2704.7      2304.2
#> 28704098_1      2194.0      2521.1      2490.7      3344.4      2826.8
#> 74703475_1      3490.2      3383.6      1962.4      3748.8      2952.7
#> 51134040_1      3700.8      2182.1      2712.6      2417.8      2837.9
#> 93503102_1      2594.4      2303.6      3603.1      3259.9      2667.5
#> 46713227_1      2145.0      3171.5      2552.9      2501.1      2382.1
#> 65338817_1      2805.4      2392.7      2728.5      2184.8      2424.5
#>            seq.3865.56 seq.3363.21 seq.4487.88 seq.5994.84 seq.9011.72
#> 51966571_1       865.1      1984.3      1702.9      2256.7      2240.4
#> 28704098_1      2197.1      2328.6      2591.1      2870.7      1911.3
#> 74703475_1      3255.8      2590.7      3185.4      4230.9      2516.7
#> 51134040_1      2668.8      2353.3      2818.3      2412.0      2107.0
#> 93503102_1      2134.8      1627.1      2468.5      2062.3      2121.7
#> 46713227_1      2856.1      2751.8      3310.7      3110.6      1635.4
#> 65338817_1      2106.6      2068.5      2150.1      2316.0      2760.9
#>            seq.2902.23 seq.2260.48 seq.4936.96 seq.2277.95 seq.2953.31
#> 51966571_1      2543.3      2775.9      2758.1      1212.2      2608.4
#> 28704098_1      3077.6      2131.6      2443.0      3062.4      2228.8
#> 74703475_1      3690.1      2378.7      2955.7      3081.6      2844.6
#> 51134040_1      2942.9      2917.9      3216.2      2563.9      2783.3
#> 93503102_1      2190.1      3032.0      1993.5      1270.9      2584.5
#> 46713227_1      2792.3      2716.9      2792.7      2557.8      2582.6
#> 65338817_1      3117.2      2143.2      2600.5      2818.6      3153.8
#>            seq.3032.11 seq.4330.4 seq.4914.10 seq.3896.5 seq.5002.7
#> 51966571_1      2842.4     3107.4      1080.2     1908.9     1677.7
#> 28704098_1      2442.4     1726.1      3255.7     2728.1     2090.0
#> 74703475_1      1636.9     3262.3      2624.6     1402.9     2473.8
#> 51134040_1      2713.8     2387.3      2346.5     2675.7     2248.7
#> 93503102_1      2711.8     1978.7      2665.2     2210.7     2255.2
#> 46713227_1      2000.1     2833.4      3023.2     1891.5     1870.8
#> 65338817_1      3436.9     2431.7      2173.6     2585.1     2737.9
#>            seq.3476.4 seq.1130.49 seq.6356.60 seq.4579.40 seq.8344.24
#> 51966571_1     1423.4      2780.6      2187.7      2071.7      2588.3
#> 28704098_1     2213.6      2253.7      2997.0      2916.6      3344.5
#> 74703475_1     2099.1      2395.7      2611.7      2811.1      2159.3
#> 51134040_1     2885.7      2176.3      2997.2      2301.2      2566.3
#> 93503102_1     3162.5      2436.4      3326.5      2455.0      2226.8
#> 46713227_1     2940.9      3062.4      2215.8      1931.1      2266.8
#> 65338817_1     2789.1      2840.8      3001.6      2465.5      1444.1
#>            seq.8441.53 seq.9360.55 seq.7841.8 seq.8142.63 seq.4461.56
#> 51966571_1      1934.0      2516.7     3183.7      2022.1      2129.6
#> 28704098_1      2198.4      1770.8     2986.6      2190.0      2406.5
#> 74703475_1       862.9      2248.4     3356.2      2125.7      3278.4
#> 51134040_1      2619.2      1538.0     1803.0      2420.5      2282.9
#> 93503102_1      2444.7      2400.4     2483.0      2359.3      3021.7
#> 46713227_1      2868.6      3405.6     2518.2      2162.9      2702.6
#> 65338817_1      2724.6      2444.0     2871.8      1629.5      2194.5
#>            seq.9297.97 seq.9396.38 seq.3300.26 seq.2772.14 seq.6615.18
#> 51966571_1      2573.8      2292.4      2245.9      3097.3      1802.8
#> 28704098_1      2638.4      2890.1      3326.9      1459.0      2525.6
#> 74703475_1      2881.8      2679.5      1970.4      3192.2      2285.7
#> 51134040_1      3131.0      2315.9      1589.5      2922.8      1730.8
#> 93503102_1      2228.9      1732.2      1688.7      2007.3      3003.9
#> 46713227_1      3033.6      2775.4      2464.5      2749.1      1586.5
#> 65338817_1      3057.8      2499.0      3010.5      2955.3      2364.3
#>            seq.8797.98 seq.9879.88 seq.8993.16 seq.9373.82
#> 51966571_1      3272.2      2324.8      2770.5      2355.7
#> 28704098_1      2539.6      2216.5      1371.0      1242.2
#> 74703475_1      3124.3      3337.8      2522.4      2614.3
#> 51134040_1      2114.1      2106.3      2563.3      1486.6
#> 93503102_1      2935.7      2860.6      2499.9      2647.9
#> 46713227_1      2734.0      2976.8      1183.0      2481.4
#> 65338817_1      2984.1      3077.8      2041.5      2271.3
#> 
#> $new
#>             id class_response reg_response       time status SampleId
#> 51966571_1 001        control   -366.35853 0.17938352      1      001
#> 28704098_1 002        control    619.94832 0.16790617      1      002
#> 74703475_1 006        control   1058.02773 0.45642321      0      006
#> 51134040_1 011        control     48.80594 2.37070639      0      011
#> 93503102_1 016        control    223.59018 0.24184832      0      016
#> 46713227_1 022        control    567.17647 0.03049982      1      022
#> 65338817_1 023        control   -263.84427 0.25094150      1      023
#>             SlideId Subarray    SiteId age gender HybControlNormScale
#> 51966571_1 51966571        1  Isengard  56      M           0.6687581
#> 28704098_1 28704098        1 Rivendell  40      F           1.9342019
#> 74703475_1 74703475        1    Mordor  41      F           2.0788480
#> 51134040_1 51134040        1    Mordor  37      M           1.7756260
#> 93503102_1 93503102        1     Rohan  49      M           2.0030241
#> 46713227_1 46713227        1     Shire  29      M           0.6111657
#> 65338817_1 65338817        1     Rohan  30      M           1.8143705
#>            NormScale_40 NormScale_0_005 NormScale_1 seq.2802.68
#> 51966571_1    1.8977914       0.5510880   0.4316258      2186.8
#> 28704098_1    0.5486117       0.9991240   0.5249539      2591.8
#> 74703475_1    0.7958873       1.2270788   1.0426147      2089.8
#> 51134040_1    1.5700662       1.2384780   1.3697496      3255.9
#> 93503102_1    0.5603863       0.4237175   0.7158650      2477.5
#> 46713227_1    0.7725000       0.8013179   1.0183998      2891.1
#> 65338817_1    1.3366064       0.9539156   1.1823144      2537.3
#>            seq.9251.29 seq.1942.70 seq.5751.80 seq.9608.12 seq.3459.49
#> 51966571_1      2699.1      2189.8      2725.1      2704.7      2304.2
#> 28704098_1      2194.0      2521.1      2490.7      3344.4      2826.8
#> 74703475_1      3490.2      3383.6      1962.4      3748.8      2952.7
#> 51134040_1      3700.8      2182.1      2712.6      2417.8      2837.9
#> 93503102_1      2594.4      2303.6      3603.1      3259.9      2667.5
#> 46713227_1      2145.0      3171.5      2552.9      2501.1      2382.1
#> 65338817_1      2805.4      2392.7      2728.5      2184.8      2424.5
#>            seq.3865.56 seq.3363.21 seq.4487.88 seq.5994.84 seq.9011.72
#> 51966571_1       865.1      1984.3      1702.9      2256.7      2240.4
#> 28704098_1      2197.1      2328.6      2591.1      2870.7      1911.3
#> 74703475_1      3255.8      2590.7      3185.4      4230.9      2516.7
#> 51134040_1      2668.8      2353.3      2818.3      2412.0      2107.0
#> 93503102_1      2134.8      1627.1      2468.5      2062.3      2121.7
#> 46713227_1      2856.1      2751.8      3310.7      3110.6      1635.4
#> 65338817_1      2106.6      2068.5      2150.1      2316.0      2760.9
#>            seq.2902.23 seq.2260.48 seq.4936.96 seq.2277.95 seq.2953.31
#> 51966571_1      2543.3      2775.9      2758.1      1212.2      2608.4
#> 28704098_1      3077.6      2131.6      2443.0      3062.4      2228.8
#> 74703475_1      3690.1      2378.7      2955.7      3081.6      2844.6
#> 51134040_1      2942.9      2917.9      3216.2      2563.9      2783.3
#> 93503102_1      2190.1      3032.0      1993.5      1270.9      2584.5
#> 46713227_1      2792.3      2716.9      2792.7      2557.8      2582.6
#> 65338817_1      3117.2      2143.2      2600.5      2818.6      3153.8
#>            seq.3032.11 seq.4330.4 seq.4914.10 seq.3896.5 seq.5002.7
#> 51966571_1      2842.4     3107.4      1080.2     1908.9     1677.7
#> 28704098_1      2442.4     1726.1      3255.7     2728.1     2090.0
#> 74703475_1      1636.9     3262.3      2624.6     1402.9     2473.8
#> 51134040_1      2713.8     2387.3      2346.5     2675.7     2248.7
#> 93503102_1      2711.8     1978.7      2665.2     2210.7     2255.2
#> 46713227_1      2000.1     2833.4      3023.2     1891.5     1870.8
#> 65338817_1      3436.9     2431.7      2173.6     2585.1     2737.9
#>            seq.3476.4 seq.1130.49 seq.6356.60 seq.4579.40 seq.8344.24
#> 51966571_1     1423.4      2780.6      2187.7      2071.7      2588.3
#> 28704098_1     2213.6      2253.7      2997.0      2916.6      3344.5
#> 74703475_1     2099.1      2395.7      2611.7      2811.1      2159.3
#> 51134040_1     2885.7      2176.3      2997.2      2301.2      2566.3
#> 93503102_1     3162.5      2436.4      3326.5      2455.0      2226.8
#> 46713227_1     2940.9      3062.4      2215.8      1931.1      2266.8
#> 65338817_1     2789.1      2840.8      3001.6      2465.5      1444.1
#>            seq.8441.53 seq.9360.55 seq.7841.8 seq.8142.63 seq.4461.56
#> 51966571_1      1934.0      2516.7     3183.7      2022.1      2129.6
#> 28704098_1      2198.4      1770.8     2986.6      2190.0      2406.5
#> 74703475_1       862.9      2248.4     3356.2      2125.7      3278.4
#> 51134040_1      2619.2      1538.0     1803.0      2420.5      2282.9
#> 93503102_1      2444.7      2400.4     2483.0      2359.3      3021.7
#> 46713227_1      2868.6      3405.6     2518.2      2162.9      2702.6
#> 65338817_1      2724.6      2444.0     2871.8      1629.5      2194.5
#>            seq.9297.97 seq.9396.38 seq.3300.26 seq.2772.14 seq.6615.18
#> 51966571_1      2573.8      2292.4      2245.9      3097.3      1802.8
#> 28704098_1      2638.4      2890.1      3326.9      1459.0      2525.6
#> 74703475_1      2881.8      2679.5      1970.4      3192.2      2285.7
#> 51134040_1      3131.0      2315.9      1589.5      2922.8      1730.8
#> 93503102_1      2228.9      1732.2      1688.7      2007.3      3003.9
#> 46713227_1      3033.6      2775.4      2464.5      2749.1      1586.5
#> 65338817_1      3057.8      2499.0      3010.5      2955.3      2364.3
#>            seq.8797.98 seq.9879.88 seq.8993.16 seq.9373.82
#> 51966571_1      3272.2      2324.8      2770.5      2355.7
#> 28704098_1      2539.6      2216.5      1371.0      1242.2
#> 74703475_1      3124.3      3337.8      2522.4      2614.3
#> 51134040_1      2114.1      2106.3      2563.3      1486.6
#> 93503102_1      2935.7      2860.6      2499.9      2647.9
#> 46713227_1      2734.0      2976.8      1183.0      2481.4
#> 65338817_1      2984.1      3077.8      2041.5      2271.3
#>