3
我有一個包含三列(「年」,「目標」,「值」)的簡單表格,我想創建一個新列(Resp),其中包含「價值」高於「目標」的「年份」。選擇值(「年份」列)對應於「值」高於「目標」的第一次。根據不同列的值在列中搜索
這是表的一部分:
db <- data.frame(Year=2010:2017, Target=c(3,5,2,7,5,8,3,6), Value=c(4,5,2,7,4,9,5,8)).
print(db)
Yea Target Value
1 2010 3 4
2 2011 5 5
3 2012 2 2
4 2013 7 3
5 2014 5 4
6 2015 8 9
7 2016 3 5
8 2017 6 8
的假裝結果是:
Year Target Value Resp
1 2010 3 4 2011
2 2011 5 5 2015
3 2012 2 2 2013
4 2013 7 3 2015
5 2014 5 4 2015
6 2015 8 9 NA
7 2016 3 5 2017
8 2017 6 8 NA
任何建議,我怎麼能解決這個問題?
除了'Resp'列之外,我還想創建一個包含對應於「Value」最小值的「Year」的新對象(Black.Y),直到'Value'高於'Target'。
這個假的結果是:
Year Target Value Resp Black.Y
1 2010 3 4 2011 NA
2 2011 5 5 2015 2012
3 2012 2 2 2013 NA
4 2013 7 3 2015 2014
5 2014 5 4 2015 NA
6 2015 8 9 NA 2016
7 2016 3 5 2017 NA
8 2017 6 8 NA NA
任何建議,我怎麼能解決這個問題?
謝謝您的回答。它完美的作品。 – KinSF