r - 如何将数据框列除以 3,但根据另一列内容跳过除法
问题描述
我想将两个数字列除以 3,但不是第三个字符列。
当前数据框:
col1 col2 col3
100 10 cat
200 20 dog
300 30 NA
desired:
col1 col2 col3
10 1 cat
20 2 dog
300 30 NA
我当前的代码不基于 col3:
DB <- BD %>% mutate(Col1=Col1/3) %>% mutate(Col2s=Col2/3)
请帮忙解决。谢谢
解决方案
这是一个想法dplyr
,
library(dplyr)
df %>%
mutate_at(vars(-3), list(~ifelse(!is.na(col3), ./10, .)))
# col1 col2 col3
#1 10 1 cat
#2 20 2 dog
#3 300 30 <NA>
推荐阅读
- node.js - 错误发生意外错误:在创建新的反应应用程序时
- python - 将页面标题传递到 url
- tensorflow - AttributeError:模块 'keras.layers' 没有属性 'Wrapper'
- python - 如何在 Python 中运行我的 Selenium Headerless
- python - 如何为网络中的不同节点分配不同的颜色?
- javascript - 如何根据位置更改粘性向上箭头按钮的属性?
- ios - Cupertino Datepicker 在 Flutter 中无法正确渲染
- google-cloud-platform - 即使启用了自动存储增加,SQL 导入作业也会导致磁盘已满
- google-colaboratory - Google Colab:不使用所有训练样本
- javascript - 如何在引导卡内的第一个饼图旁边放置第二个饼图