r - 如何将两列的一些元素相乘?
问题描述
假设有 3 个不同的列:
PAYPR UNIT ACTDUR
40 (4) Per month 60
100 (5) Per hour 30
50 (6) Per year 10
5 (1) Per day 20
当 UNIT 列是“(5)每小时”我想做
PAYPR<-PAYPR*ACTDUR/60
所以输出是
PAYPR UNIT ACTDUR
40 (4) Per month 60
100*30/60 (5) Per hour 30
50 (6) Per year 10
5 (1) Per day 20
解决方案
创建逻辑索引并根据中的内容修改“PAYPR”的值base R
i1 <- df1$UNIT == "(5) Per hour"
df1$PAYPR[i1] <- df1$PAYPR[i1]* df1$ACTDUR[i1]/60
df1
# PAYPR UNIT ACTDUR
#1 40 (4) Per month 60
#2 50 (5) Per hour 30
#3 50 (6) Per year 10
#4 5 (1) Per day 20
数据
df1 <- structure(list(PAYPR = c(40L, 100L, 50L, 5L), UNIT = c("(4) Per month",
"(5) Per hour", "(6) Per year", "(1) Per day"), ACTDUR = c(60L,
30L, 10L, 20L)), class = "data.frame", row.names = c(NA, -4L))
推荐阅读
- javascript - 查找数组中连续数字的所有范围
- php - ./wp-includes/theme-compat/archive.php 有什么作用?
- html - 工具提示底部定位
- python-3.x - 异或两个不同长度的字符串
- excel - Excel - 如何根据不同列中的特定值将数据从列转换为行?
- amazon-web-services - 如何将 cPanel 中的子域连接到 AWS ELB
- c# - Wpf Combobox selectedindex显示旧值
- r - 在箱线图中并排放置相应的框
- list - Elixir - 将两个具有相似键名和值的地图合并为列表?
- python - 在python中查找两个列表的所有有序组合