[R] How to filter data in R based on first column ID

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Sun Jun 23 16:34:16 CEST 2019


Hello,

Please always cc the list.

The data you have posted has the values you want to match as 
*row.names*, not as the first column values.

This is why it is important to follow the posting guide and post 
datasets as it suggests, in dput() format.

dput(head(data))    # post the output of this


In the mean time, try

i <- row.names(data) %in% otu.list
data[i, ]


Also, dim(i) doesn't make sense, it's a vector and in R it's not 
expected to have a dim attribute. What would have made sense would have 
been

length(i)
sum(i)


Hope this helps,

Rui Barradas


Às 11:41 de 23/06/19, Yogesh Gupta escreveu:
> Hi Rui,
> 
> I used the code as you suggested , it is not giving the row values, only 
> showing the header of rows.
> 
>> head(data)
> 
>                                   Root-1.S35.L001 Root-10.S75.L001
> 
> 71f84e7910006f22684121564206e8ca      0.00000000                0
> 
> 03b167b9f86f2519b4263b4125377eed      0.00000000                0
> 
> 54e204fb99c80764e964456dadd6a0e5      0.00000000                0
> 
> 55cd1fc570879d645bbf7a3642e9b0a8      0.00000000                0
> 
> 65f5c31e12c277aec319e2096463f9d2      0.00000000                0
> 
> 7bed62f0fef250fd831dcf13bf43f4fc      0.04679457                0
> 
> 
> .....................................................
> 
> 
>> head(otu.list)
> 
>    9d94ce7d60e59034941e3a12bc37865e
> 
> 1 8e60d301122d7aa359eb6b0b00f37f62
> 
> 2 bfad6370d28182cc6304844e9bec7fb6
> 
> 3 088571139af8e0a63fb6652df8a7438b
> 
> 4 ccd70d57890f276a542ef4b5e5142d4c
> 
> 5 cab4ca278af34bf722e0c7cb3219370b
> 
> 6 72f30f3780145f16ac882eb8e2d189a5
> 
> 
> ....................................
> 
> 
>> i <- data[[1]] %in% otu.list
> 
>> dim(i)
> 
> NULL
> 
>> data[i, ]
> 
>   [1] Root-1.S35.L001  Root-10.S75.L001 Root-13.S5.L001  Root-14.S16.L001
> 
>   [5] Root-17.S26.L001 Root-18.S36.L001 Root-19.S46.L001 Root-22.S56.L001
> 
>   [9] Root-24.S66.L001 Root-25.S76.L001 Root-26.S6.L001  Root-27.S17.L001
> 
> [13] Root-3.S45.L001  Root-30.S27.L001 Root-32.S37.L001 Root-34.S47.L001
> 
> [17] Root-39.S57.L001 Root-4.S55.L001  Root-40.S67.L001 Root-41.S77.L001
> 
> [21] Root-43.S7.L001  Root-45.S18.L001 Root-47.S28.L001 Root-50.S38.L001
> 
> 
> .............
> 
> 
> Could you please suggest how I can get the row values along with the harder?
> 
> 
> Kind Regards
> 
> Yogesh
> 
> 
> 
> 
> *Yogesh Gupta*
> *Research Fellow*
> *Institute for Global Food Security*
> *Queen's University*
> *Belfast, UK*
> 
> 
> 
> On Fri, Jun 21, 2019 at 9:29 PM Rui Barradas <ruipbarradas using sapo.pt 
> <mailto:ruipbarradas using sapo.pt>> wrote:
> 
>     Hello,
> 
>     Please don't post in HTML like the posting guide asks you to, the data
>     is unreadable.
> 
>     Not tested:
> 
>     i <- data[[1]] %in% ID.list
>     data[i, ]
> 
> 
>     That's it.
> 
>     Hope this helps,
> 
>     Rui Barradas
> 
>     Às 21:09 de 21/06/19, Yogesh Gupta escreveu:
>      > Hi,
>      >
>      > I do need to filter data based on first column could you please
>     suggest ,
>      > How I can do it in R.
>      >
>      >
>      >
>      >
>      >
>      >
>      >
>      > head(data)
>      >
>      >
>      >
>      > Root-1.S35.L001 Root-10.S75.L001 Root-13.S5.L001 Root-14.S16.L001
>      > Root-17.S26.L001
>      > 719e20e1e3d19fbc5dd50844c6d29a8f 0.049304262 0 0 0 0.033765858
>      > bfffa74c0971b30ccf3b19f65911801f 0 0 0.017210717 0 0
>      > 80087a003188288a9b0e3990d72113e3 0 0 0 0.010248632 0
>      > aed34f36d535976c247278bec289fd12 0.580694642 0.113445793 0.56221674
>      > 0.06764097 0.525782644
>      > 42df8f30203380e9a604cb5c4000411b 0 0 0 0.004099453 0
>      > d47199c9d9c5417c7cb82ff4159cf497 0 0.019729703 0 0 0
>      > 6272cdc38bd517a77ba3887619c36b9f 0 0 0 0.016397811 0.019294776
>      > 62a5c6f5e0adda662739a7ac521ea790 0.076695519 0 0.271546861
>     0.254166069
>      > 0.463074623
>      > 3b5d8860f6a03668df80d364e9591bab 0.125999781 0.019729703 0.061193659
>      > 0.038944801 0.02411847
>      >
>      > I need to extract data for the below IDs
>      >
>      > head(ID.list)
>      >
>      > 719e20e1e3d19fbc5dd50844c6d29a8f
>      > bfffa74c0971b30ccf3b19f65911801f
>      > 62a5c6f5e0adda662739a7ac521ea790
>      >
>      > I will be tankful for your help.
>      >
>      > Thanks
>      > Yogesh
>      >
>      > *Yogesh Gupta*
>      > *Research Fellow*
>      > *Institute for Global Food Security*
>      > *Queen's University*
>      > *Belfast, UK*
>      >
>      >       [[alternative HTML version deleted]]
>      >
>      > ______________________________________________
>      > R-help using r-project.org <mailto:R-help using r-project.org> mailing list
>     -- To UNSUBSCRIBE and more, see
>      > https://stat.ethz.ch/mailman/listinfo/r-help
>      > PLEASE do read the posting guide
>     http://www.R-project.org/posting-guide.html
>      > and provide commented, minimal, self-contained, reproducible code.
>      >
>



More information about the R-help mailing list