r - 如何改变数据框以执行参考组更改的功能?
问题描述
我对 R 还是很陌生,但我正在尝试在我的数据框中添加一个列,该列执行一个功能,可以控制折叠变化。这是我应用于此数据集的问题:
chemistry rate Digital biomass[mm^3] greenness average[] Height [mm]
1 Flavone 0.001 135090.45 0.2025817 81.21167
2 Flavone 0.01 144547.00 0.2078100 82.85367
3 Flavone 0.1 145807.70 0.2043300 84.96300
4 Flavone 1 110408.18 0.1949033 81.48700
5 Flavone 10 53585.55 0.1850100 69.78533
6 Flavone Control 138598.08 0.2172325 86.05992
7 SA3F2 0.001 158966.7 0.2051417 85.33000
8 SA3F2 0.01 167762.0 0.2113683 88.58500
9 SA3F2 0.1 159897.5 0.2021017 86.60617
10 SA3F2 1 181713.5 0.1995667 85.57567
11 SA3F2 10 136530.0 0.1964467 81.84200
12 SA3F2 Control 135043.2 0.2179492 86.33429
我正在尝试为每个当前列设置折叠更改列,这些列采用每个应用速率的值(按化学分组)并将其除以对应于化学的控制值。
例如:
Digital biomass fold change
=134090.45/53585.55
=144547.00/53585.55
等等。
我已经按化学对数据进行了分组并处理了所有平均值。我似乎无法以一种有意义的方式循环这个函数。
提前致谢。
解决方案
假设@StupidWolf 的解释是正确的,您希望使用 将"Control"
每组中的行中的值划分为多列dplyr
,我们可以这样做:
library(dplyr)
df %>%
group_by(chemistry) %>%
mutate_at(vars(`biomass[mm^3]`:`Height[mm]`), ~./.[rateDigital == 'Control'])
# chemistry rateDigital `biomass[mm^3]` `greenness average[]` `Height[mm]`
# <fct> <fct> <dbl> <dbl> <dbl>
# 1 Flavone 0.001 0.975 0.933 0.944
# 2 Flavone 0.01 1.04 0.957 0.963
# 3 Flavone 0.1 1.05 0.941 0.987
# 4 Flavone 1 0.797 0.897 0.947
# 5 Flavone 10 0.387 0.852 0.811
# 6 Flavone Control 1 1 1
# 7 SA3F2 0.001 1.18 0.941 0.988
# 8 SA3F2 0.01 1.24 0.970 1.03
# 9 SA3F2 0.1 1.18 0.927 1.00
#10 SA3F2 1 1.35 0.916 0.991
#11 SA3F2 10 1.01 0.901 0.948
#12 SA3F2 Control 1 1 1
推荐阅读
- wordpress - Wordpress Sendgrid 电子邮件未发送
- excel - HANA SQL:将格式为日期的 Excel 字段导入数据集或将 Excel 日期值(例如 31.12.2019 的 43830)转换为日期
- swiftui - SwiftUI 如何在 VStack 中垂直居中视图
- excel - 如果单元格值包含特定字符串,则添加到列表框
- notepad++ - 使用 Notepad++ 搜索文件中的多个单词
- google-apps-script - 为什么代码格式损坏并且是错误的,不是很有帮助
- python - 比较两个 3d Numpy 数组并返回带有索引的不匹配值,然后在没有循环的情况下重新创建它们
- python-xarray - 无法将 csv 文件中的 1d 变量添加到 Xarray 数据集 - 错误?
- python - 读取文件时如何处理 UnicodeDecodeError?
- quarkus - 如果调用错误,Quarkus REST 服务返回空响应