r - if语句中的R警告
问题描述
我正在尝试编写一个遍历数据框并纠正错误值的循环(通用制作的 EG 喜剧将其全球总收入乘以 1.1,派拉蒙制作的喜剧将其国内总收入增加 0.8 美元)数据框指定电影,不同列中的流派、工作室和总收入
for (i in 1:nrow(movie_data)) {
movies <- movie_data[i,]
if (distributor == "Universal") {
if (genre == "Comedy") {
movies$worldwide_gross <- movies$worldwide_gross / 1.1
}
} else if (distributor == "Paramount") {
if (genre == "Comedy") {
movies$domestic_gross <- movies$domestic_gross - 0.8
} else if (genre == "Drama") {
movies$domestic_gross <- movies$domestic_gross - 1.2
}
}
}
什么会导致我的错误?
解决方案
我认为你不需要 afor loop
来实现你想要的。但是,如果您实际上不共享数据的玩具示例,则很难知道。dput(head(movies))
会做的。
操作data.table
可以很简单:
library(data.table)
setDT(movies)
movies[distributor == "Universal" & genre == "Comedy",
worldwide_gross := worldwide_gross / 1.1]
movies[distributor == "Paramount" & genre == "Comedy",
domestic_gross := domestic_gross - 0.8]
movies[genre == "Drama",
domestic_gross - 1.2]
推荐阅读
- excel - 需要识别某些单元格,然后将整行移动到另一个工作表
- mysql - 我想要最好的模式来存储反应
- java - 使用媒体播放器播放音频文件时出现问题
- javascript - 服务器在某些路由上抛出 500 错误
- clojurescript - ClojureScript Figwheel - REPL 出错后无法恢复提示
- haskell - 如何解决“无法将类型 'b' 与 ConcreteType 匹配”?
- django - 我遇到了非常奇怪的错误,生产中的某些模板无法加载
- azure - 稍后重试 Durable Function 活动/协调器
- reactjs - 你在哪里配置你的 React 应用服务器发回的内容?
- apache-spark - 需要帮助优化基于其他列的不同列的查询计数