我想把头缠在R上,我确定自己在做些愚蠢的事情。
我有一个数据框,其中包含30个品牌(我的名称在列表中分别称为“品牌”)和希望插入数据框的新名称列表(称为“已知品牌”)。
我正在尝试在R数据框的新列中填充if语句的结果(使用“已知品牌”中的名称),但这会继续生成错误消息(“ {”中的意外“ {”)< / p>
我不确定我要去哪里哪里-这是我的代码:
"dependencies": {
"@angular/animations": "~7.1.0",
"@angular/common": "~7.1.0",
"@angular/compiler": "~7.1.0",
"@angular/core": "~7.1.0",
"@angular/forms": "~7.1.0",
"@angular/platform-browser": "~7.1.0",
"@angular/platform-browser-dynamic": "~7.1.0",
"@angular/router": "~7.1.0",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26",
"firebase": "^5.5.5",
"@angular/fire": "^5.0.2"
},
使用数据进行说明(假设3 x2列):
plot1a_df = data.frame(brands = c(1,0,2),Misc = c(0,0,0))
这个想法是以c(0,0,1)结尾的第三列(“ known_brands”)
答案 0 :(得分:0)
要使用dplyr
添加逻辑列:
library(dplyr)
plot1a_df %>% mutate(is_brand_known = brands %in% brand_list)
另一个带有 iris 数据集的示例。
species_list = c('setosa')
iris %>% mutate(is_setosa = Species %in% species_list)
答案 1 :(得分:0)
for (i in 1:30){
plot1a_df[, known_cols[i]] <- ifelse(plot1a_df[,brands[i]] >1, 1, 0)
print(plot1a_df[, known_cols[i]])
}
发现我的解决方案无需更改即可实现-尽管,仍然想知道是否可以在dplyr中合并for循环(认识到这里有很多注释,但在高层次上没有任何注释(对于这种简单理解至少可以理解) !)