r - 在R中将第一行除以第二行
问题描述
这是一个简单的,但我猜它很棘手(至少在 tidyverse 中),因为在此之前我有多个管道。
我想要创建第三行,它将第一行中的所有数值除以第二行(以百分比表示)并为非数值提供 NA/留空。
structure(list(date = structure(c(1590105600, 1590537600), class = c("POSIXct",
"POSIXt"), tzone = "UTC"), A = c(106L, 140L), B = c(212L,
320L), C = c(31L, 26L), D = c(108L, 166L), E = c(93L,
152L), F = c(550L, 804L)), class = c("tbl_df", "tbl", "data.frame"
), row.names = c(NA, -2L))
解决方案
使用好旧的[
df[3, -1] <- df[1, -1] / df[2, -1]
df
# date A B C D E F
# 1 2020-05-22 106.0000000 212.0000 31.000000 108.0000000 93.0000000 550.0000000
# 2 2020-05-27 140.0000000 320.0000 26.000000 166.0000000 152.0000000 804.0000000
# 3 <NA> 0.7571429 0.6625 1.192308 0.6506024 0.6118421 0.6840796
使用dplyr::add_rows()
:
df %>%
add_row(.[1, -1] / .[2, -1])
date A B C D E F
<dttm> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 2020-05-22 00:00:00 106 212 31 108 93 550
2 2020-05-27 00:00:00 140 320 26 166 152 804
3 NA 0.757 0.662 1.19 0.651 0.612 0.684
推荐阅读
- python - 如何从熊猫 df 中过滤少于 15 个条目的月份?
- r - 用其他数据框中的数据填充 R 中的 NA 值
- mysql - Intellij MYSQl 如何与控制器类连接?
- ios - 传递数据时,如何使变量可被多个类识别?
- android - lateinit 属性尚未初始化我找不到初始化它的方法
- asp.net-mvc - 将列表从控制器传递到视图 MVC
- javascript - 无法将 Dialogflow 响应解析为 AppResponse
- javascript - 从 PHP 设置热敏打印机尺寸打印
- google-sheets - 没有匹配时如何防止Vlookup返回空行
- sql - 基于非唯一订单号的父子层次结构