R 数据帧的复子集
考虑以下数据帧:R 数据帧的复子集,r,dataframe,R,Dataframe,考虑以下数据帧: df <- data.frame(Asset = c("A", "B", "C"), Historical = c(0.05,0.04,0.03), Forecast = c(0.04,0.02,NA)) # Asset Historical Forecast #1 A 0.05 0.04 #2 B 0.04 0.02 #3 C 0.03 NA 但是,如果x=“Historica
df <- data.frame(Asset = c("A", "B", "C"), Historical = c(0.05,0.04,0.03), Forecast = c(0.04,0.02,NA))
# Asset Historical Forecast
#1 A 0.05 0.04
#2 B 0.04 0.02
#3 C 0.03 NA
但是,如果x=“Historical”
,只需返回历史列:
Asset Historical
1 A 0.05
2 B 0.04
3 C 0.03
我想不出一个简单的方法,如果你有大量的行,暴力是非常低效的。有什么想法吗
谢谢 首先,预处理您的数据:
df2 <- transform(df, Forecast = ifelse(!is.na(Forecast), Forecast, Historical))
首先,预处理您的数据:
df2 <- transform(df, Forecast = ifelse(!is.na(Forecast), Forecast, Historical))
re:
ifelse
,看看这个问题:为什么不在脚本开头填写NA
值?re:ifelse
,看看这个问题:为什么不在脚本开头填写NA
值?
df2[c("Asset", x)]