【发布时间】:2015-04-21 14:36:48
【问题描述】:
我想用预先存在的数据(根据一列的名称)来拟合一个空数据框。假设我的空数据是:
#define empty data.frame
predictor.names <- c("LO3","Tx","Gh","RH","SR","ST","TC","U10","WF","SF","F","VW","VS","V","D","day")
dat <- data.frame("pred"=predictor.names,"MAM"=0)
rownames(dat) <- predictor.names
现在,我想用以下值填充行:
x Freq
SR 392
RH 350
day 253
Tx 90
LO3 28
ST 7
TC 5
WF 5
VS 2
SF 1
然后,我尝试了:
dat[which(dat$pred%in%temp[[1]]),2] <- temp[[2]]
但它不起作用,因为变量的顺序不同.. 它将 392 添加到第一个 LO3 等等.. 所以我想用一个循环来做到这一点..但必须有另一种更简单的方法.. 有什么想法/建议吗?
提前致谢!
【问题讨论】:
-
太棒了!非常感谢,它成功了!
-
您也可以只合并,但如果您想要 0,则需要另一个步骤将 NA 替换为 0
merge(dat[, -2, drop = FALSE], temp, by.x = 'pred', by.y = 'x', all.x = TRUE)
标签: r