我想創建一個函數,它首先查看列是否存在,然後如果該列存在,執行計算,如果不存在,則保留原始變量。R:使用ifelse語句來檢查列是否存在,然後執行計算
下面是一些數據,我在想辦法:
thisdata <- data.frame(vara = seq(from = 1, to = 20, by = 2)
,varb = seq(from = 1, to = 20, by = 1))
thisdata$varc <- with(thisdata, ifelse("vard" %in% colnames(thisdata), vara - vard, vara))
所以,很顯然「vard」是不是在數據幀,但是我沒有得到原來的「翻」變回爲我的新變量(只有1個')。當然,我可能會有'vard'變量的另一個數據框。
感謝幫助!