我有一个很大的df,必须在其中添加带有特定名称信息的新行。像下面的例子一样。我想知道是否有更快的方法...
dat <- data.frame(name = c("Ariel", "Alex", "Melly", "Dennis"), info = "")
# df I start with
name info
1 Ariel
2 Alex
3 Melly
4 Dennis
# updates I have to make over time
dat$info[dat$name == "Ariel"] <- "chocolate"
dat <- rbind(dat, c("Ariel", "blueberry"))
dat <- rbind(dat, c("Ariel", "cracker"))
name info
1 Ariel chocolate
2 Alex
3 Melly
4 Dennis
5 Ariel blueberry
6 Ariel cracker
欢迎任何建议!:)
您可以创建一个需要添加的数据框,并将rbind
其添加到原始数据集中,从而删除要为其添加数据的name
变量。
info <- c('chocolate', 'blueberry', 'cracker')
new_name = 'Ariel'
result <- rbind(subset(dat, name != new_name), data.frame(name = new_name, info))
result
# name info
#2 Alex
#3 Melly
#4 Dennis
#1 Ariel chocolate
#21 Ariel blueberry
#31 Ariel cracker
data.frame(name = new_name, info)
新添加的数据框在哪里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句