我有一個數據幀,其中的日期是水文年(10月至9月)。要改變這一點,我想使用一個if語句:如果功能和邏輯向量的長度
if(cet$month== 10|cet$month==11|cet$month==12)
cet$year <- substr(as.character(cet[,2]),1,4) else
cet$year <- substr(as.character(cet[,2]),6,9)
,但我得到一個錯誤: the condition has length > 1 and only the first element will be used
讀了「如果」的幫助文件,我意識到,條件必須是一個長一邏輯矢量。有沒有辦法使用「或」與「如果」?我想要的只是在月份是十月,十一月或十二月時應用該表達式。
||
和往常一樣'transform'使事情更好:'CET < - 變換(CET,年= ifelse(月%在10% :12,substr(name,1,4),substr(name,6,9)))'(假設第二列標記爲'name') –感謝您的幫助! – sbg
@sbg - 在使用'ifelse'時,你可能想看一下這個問題:http://stackoverflow.com/a/8190389/662787 – Tommy