私はxデータフレームの大きなリスト(List1)を持ち、それぞれ2つの変数の4つの観測値から構成されています。典型的なデータフレームは次のようになります。列から最も近い値を見つけ、隣の列から番号を返します(リスト内)
YEAR TEMP
1861 2.09
1862 2.17
1863 2.02
1864 2.04
............
私は値2に最も近い第2列の値を見つけたい(理想的に1.95未満2.05以上とないではない)、その後、年を返します隣接する列から左に移動します。これは、VLOOKUPやINDEXなどの関数を使ってExcelでは簡単ですが、Rには同等の関数がありますか?それは> = 1.95および= 2.05 <にする必要がある部分を無視して、私がこれまで試してみました:
result=lapply(List1, function(x) which.min(abs(x-2)))
が、これはエラーとして返されます。
Error in which.min(abs(x - 2)) :
(list) object cannot be coerced to type 'double'
私は私がこれまでだとは思いません誰も私がこれを訂正できる場所を提案してもらえますか?
方法lapply(List1を、機能(I '程度)は、i $ YEAR [I $ TEMP> = 1.95&I $ TEMP <を= 2.05] ) '? – Sotos
あなたはxがdata.frameであることを考慮する必要があります – Cath