[英]Multiply two rows from same dataframe r
我有一個數據框,我想通過將兩個現有行相乘來計算新行。 我的數據框的結構如下:
structure(list(month = c("mazda", "yamaha", "car"), april = c(11,
12, 0.1), may = c(14, 15, 0.5)), row.names = c(NA, -3L), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"), vars = "month", drop = TRUE, indices = list(
2L, 0L, 1L), group_sizes = c(1L, 1L, 1L), biggest_group_size = 1L, labels = structure(list(
month = c("car", "mazda", "yamaha")), row.names = c(NA, -3L
), class = "data.frame", vars = "month", drop = TRUE))
我想添加一行total
,這將是mazda
和car
的乘積。 如果未找到0
,則在新行total
應為0
。 我正在嘗試實現所需的輸出:
# A tibble: 4 x 3
# Groups: month [4]
month april may
<chr> <dbl> <dbl>
1 mazda 11 14
2 yamaha 12 15
3 car 0.1 0.5
4 total 1.1 7
這聽起來/看起來確實像XY問題。 我建議您重新考慮一下您的常規代碼和數據設計。 例如,為什么第1列被標記為month
卻又包含條目"mazda"
, "yamaha"
, "car"
和"total"
?
對於它的價值,您可以使用
rbind(df, c(month = "total", df[df$month == "mazda", -1] * df[df$month == "car", -1]))
## A tibble: 4 x 3
## Groups: month [4]
# month april may
# <chr> <dbl> <dbl>
#1 mazda 11 14
#2 yamaha 12 15
#3 car 0.1 0.5
#4 total 1.1 7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.