在R中另一个数据框中使用变量专用的值来应用函数来校正一个数据框中的变量值

安克

我有一个称为'covs'的df,它在行和列中都有站点,每个站点有9个不同的环境变量。我需要使用函数重新计算每个单元格的值x - center_values(x)) / scale_values(x)但是,每个环境协变量的“ center_values”和“ scale_values”不同,它们位于另一个称为“更正”的df中。

我发现了许多解决方案,这些解决方案适用于将函数应用于整个df,但不适用于根据要转换的值的ID应用特定的值。

covs <- read.table(text = "X        elev   builtup     river       grip            pa       npp  treecov
384879-2009   1   24.379101 25188.572 1241.8348  1431.1082  5.705152e+03 16536.664 60.23175
385822-2009   2   29.533478 32821.770 2748.9053  1361.7772  2.358533e+03 15773.115 62.38455
385823-2009   3   30.097059 28358.244 2525.7627  1073.8772  4.340906e+03 14899.451 46.03269
386765-2009   4   33.877861 40557.891  927.4295  1049.4838  4.580944e+03 15362.518 53.08151
386766-2009   5   38.605156 36182.801 1479.6178  1056.2130  2.517869e+03 13389.958 35.71379", 
header= TRUE)

correction <- read.table(text = "var_name    center_values     scale_values
1        X            196.5 113.304898393671
2     elev 200.217889868483 307.718211316278
3  builtup 31624.4888660664 23553.2438790344
4    river 1390.41023742909 1549.88661649406
5     grip 5972.67361738244 6996.57793554527
6       pa 2731.33431010861 4504.71055521749
7      npp 10205.2997576655 2913.19658598938
8  treecov 47.9080656134352 17.7101565911347
9   nonveg 7.96755640452006 4.56625351682905", header= TRUE)

有人可以帮我编写代码,使用“更正”中报告的特定协变量值重新计算“ covs”中的环境协变量值吗?例如,对于df'covs'列的'elev'列中的每个值,我需要减去'校正后的df'中为'elev'报告的'center_value',然后除以报告的'elev'的'scale_value'在“更正”的df中。谢谢你的热心帮助。

杰伊

您可以分配var_name给行名,然后在的名称上循环以在中covs进行计算sapply

rownames(correction) <- correction$var_name

res <- as.data.frame(sapply(names(covs), function(x, y) 
  (covs[, x] - correction[x, "center_values"])/correction[x, "scale_values"]))
res
#           X       elev     builtup       river       grip          pa      npp    treecov
# 1 -1.725433 -0.5714280 -0.27324970 -0.09586213 -0.6491124  0.66015733 2.173339  0.6958541
# 2 -1.716607 -0.5546776  0.05083296  0.87651254 -0.6590217 -0.08275811 1.911239  0.8174114
# 3 -1.707781 -0.5528462 -0.13867495  0.73253905 -0.7001703  0.35730857 1.611340 -0.1058927
# 4 -1.698956 -0.5405596  0.37928543 -0.29871910 -0.7036568  0.41059457 1.770295  0.2921174
# 5 -1.690130 -0.5251972  0.19353224  0.05755748 -0.7026950 -0.04738713 1.093183 -0.6885470

检查例如"elev"

(covs[,"elev"] - correction["elev", "center_values"]) / correction["elev", "scale_values"]
# [1] -0.5714280 -0.5546776 -0.5528462 -0.5405596 -0.5251972

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用另一个数据框缩放数据框中的变量

来自分类Dev

使用来自另一个数据框的值作为R中的变量名称来对数据框进行变异

来自分类Dev

选择一个数据框中的变量以从另一个数据框中绘制

来自分类Dev

使用另一个在一个数据框中搜索值

来自分类Dev

在数据框中创建一个新变量,条件是另一个数据框

来自分类Dev

使用条件从另一个数据框中更新值来更新pandas数据框列

来自分类Dev

从R中的另一个数据框创建多个数据框

来自分类Dev

使用另一个数据框作为R中的键替换数据框中的所有值

来自分类Dev

使用另一个数据框作为R中的键替换数据框中的所有值

来自分类Dev

使用条件使用 R 中的另一个数据框替换数据框的值

来自分类Dev

如何从另一个数据框中按组正确合并变量?

来自分类Dev

用另一个数据框中的匹配变量替换列标题

来自分类Dev

根据另一个数据框中的值对一个数据框进行子集

来自分类Dev

如果另一个数据框中存在一个数据框值,则从该数据框中获取一个值

来自分类Dev

我可以使用R中另一个数据框的对应值来划分数据框的每一列吗?

来自分类Dev

使用R数据框中的值对另一个数据框的列进行规范化

来自分类Dev

从另一个数据框中更新熊猫数据框中的特定值

来自分类Dev

根据另一个数据框中的日期过滤数据框中的值

来自分类Dev

通过从另一个数据框派生值来突变一个数据框上的新变量-不兼容问题

来自分类Dev

从一个数据框中减去另一个数据

来自分类Dev

根据R中另一数据框中的条件值来匹配/子集一个数据框

来自分类Dev

R:使用来自另一个数据框的映射在一个数据框中创建一个新列

来自分类Dev

对整个数据框应用一个用户定义的函数,该函数涉及熊猫中的另一个数据框

来自分类Dev

将变量值从Codeigniter中的另一个函数插入数据库?

来自分类Dev

从一个数据框中替换另一个数据中的值

来自分类Dev

如何访问另一个数据框中的列表/数据框值

来自分类Dev

保留另一个数据框中包含的数据框的值

来自分类Dev

根据另一个数据框计算数据框中的列值

来自分类Dev

如何基于另一个数据框的多索引值应用数据框中的值?

Related 相关文章

  1. 1

    使用另一个数据框缩放数据框中的变量

  2. 2

    使用来自另一个数据框的值作为R中的变量名称来对数据框进行变异

  3. 3

    选择一个数据框中的变量以从另一个数据框中绘制

  4. 4

    使用另一个在一个数据框中搜索值

  5. 5

    在数据框中创建一个新变量,条件是另一个数据框

  6. 6

    使用条件从另一个数据框中更新值来更新pandas数据框列

  7. 7

    从R中的另一个数据框创建多个数据框

  8. 8

    使用另一个数据框作为R中的键替换数据框中的所有值

  9. 9

    使用另一个数据框作为R中的键替换数据框中的所有值

  10. 10

    使用条件使用 R 中的另一个数据框替换数据框的值

  11. 11

    如何从另一个数据框中按组正确合并变量?

  12. 12

    用另一个数据框中的匹配变量替换列标题

  13. 13

    根据另一个数据框中的值对一个数据框进行子集

  14. 14

    如果另一个数据框中存在一个数据框值,则从该数据框中获取一个值

  15. 15

    我可以使用R中另一个数据框的对应值来划分数据框的每一列吗?

  16. 16

    使用R数据框中的值对另一个数据框的列进行规范化

  17. 17

    从另一个数据框中更新熊猫数据框中的特定值

  18. 18

    根据另一个数据框中的日期过滤数据框中的值

  19. 19

    通过从另一个数据框派生值来突变一个数据框上的新变量-不兼容问题

  20. 20

    从一个数据框中减去另一个数据

  21. 21

    根据R中另一数据框中的条件值来匹配/子集一个数据框

  22. 22

    R:使用来自另一个数据框的映射在一个数据框中创建一个新列

  23. 23

    对整个数据框应用一个用户定义的函数,该函数涉及熊猫中的另一个数据框

  24. 24

    将变量值从Codeigniter中的另一个函数插入数据库?

  25. 25

    从一个数据框中替换另一个数据中的值

  26. 26

    如何访问另一个数据框中的列表/数据框值

  27. 27

    保留另一个数据框中包含的数据框的值

  28. 28

    根据另一个数据框计算数据框中的列值

  29. 29

    如何基于另一个数据框的多索引值应用数据框中的值?

热门标签

归档