I'm new to R and not sure how to get the right output from my data below:
My data:
row1 101 woody 5
row2 101 woody 0
row3 111 kiln 23
row4 200 weez 2
row5 315 rowt 0
For example, in row 3, element in column 3 is greater than 0, and the its column 1 value is between 101 (row1 ) and 111 (row3). So the condition is, for any row, if value in column3 is greater than 0, and also if its column 1 value is between that of the column above and below.
Required output:
col1 col2 col3
row1 101 woody After_none
row2 101 woody 0
row3 111 kiln Between_woody_weez
row4 200 weez Between_Kiln_rowt
row5 315 rowt 0
I would be pleased if someone could help me. Thanks
Added more data to run Akru's code:
col1 col2 col3
255 mwu 21
77031 netw 0
77031 netw 0
77031 netw 0
82513 cuu 91
88206 cxum 0
88206 cxum 0
88206 cxum 0
188450 xaii 25
188450 xaii 0
188450 xaii 0
188450 xaii 0
188450 xaii 0
199800 aau 0
Code runs with this data sample but, the output not quite right:
col1 col2 col3 colN
255 mwu 21 After_none
77031 netw 0 <NA>
77031 netw 0 <NA>
77031 netw 0 <NA>
82513 cuu 91 Between_mwu_netw
88206 cxum 0 <NA>
88206 cxum 0 <NA>
88206 cxum 0 <NA>
188450 xaii 25 Between_netw_cxum
188450 xaii 0 <NA>
188450 xaii 0 <NA>
188450 xaii 0 <NA>
188450 xaii 0 <NA>
199800 aau 0 <NA>
But the expected output is:
col1 col2 col3
255 mwu 21
77031 netw 0
77031 netw 0
77031 netw 0
82513 Between_mwu_cxum 91
88206 cxum 0
88206 cxum 0
88206 cxum 0
188450 Between_cxum_aau 25
188450 xaii 0
188450 xaii 0
188450 xaii 0
188450 xaii 0
199800 aau 0
OR with the extra column "colN" will be fine
Expected output:
col1 col2 col3
255 mwu 21
77031 netw 0
77031 netw 0
77031 netw 0
82513 Between_mwu_cxum 91
88206 cxum 0
88206 cxum 0
88206 cxum 0
188450 Between_cxum_aau 25
188450 xaii 0
88450 xaii 0
188450 xaii 0
188450 xaii 0
199800 aau 0