r - 向现有数据框添加新行的更快方法
问题描述
我有一个很大的 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)
要添加的新数据框在哪里。
推荐阅读
- powershell - 将多行正文添加到 PowerShell 电子邮件
- java - Java Flux vs. Observable/BehaviorSubject
- swift - Admob 奖励广告仅加载一次(用于新实现 - 迁移代码)并生成错误(“..ad 对象已被使用。”)
- javascript - 如何在 JavaScript 中管理“未捕获的异常”以便在用户界面中显示错误消息?
- python - Python 使用 List Comprehension 对所有列表元素执行操作并在输出中仅包含一些元素
- python - Python 3将带有十六进制转义码的字符串保存为jpg
- python - 为什么 Tkinter Entry 的 get 函数不返回任何内容?
- ruby-on-rails - Chart.js - 次要 y 轴的比例?
- r - 使用考试包生成带有图像的 Moodle 练习
- python - 如何循环遍历某些列和所有行,如果值为 nan,则用其他列的值填充该值?