R - 将函数应用于数据帧的每一行,函数的参数是来自每一行的值

洛坎

我想从数据帧每一行的某些列中获取值,并将它们用作函数的参数以生成预测值向量(每行一个)。

见下面的功能:

predicted_value_generator <- function(theta, tau_host, tau_targ, rho, pop_host, pop_targ, distance, R0){
return(theta * R0 * (pop_host^tau_host) * (pop_targ^tau_targ) * distance^(-rho))
}

数据帧:

> pop_dist_data

            X time_to_spread host_city_pop target_city_pop    distance      host_city_outgoing_flights target_city_incoming_flights flights_between      Reproduction_number_R0  
4           3              2        198100          622104  460.819668                            9158                        93861               6                       1.365
5           4              2        198100          622104  460.819668                            9158                        93861               6                       1.300
6           5              1        198100          622104  460.819668                            9158                        93861               6                       1.300
7           6              2        198100          622104  460.819668                            9158                        93861               6                       1.300
8           7              1        198100          622104  460.819668                            9158                        93861               6                       1.300

> fit_data
  X     theta1     tau_host  tau_targ        rho
1 0 0.05447868 3.288922e-09 0.1491428 0.00820936

目前的做法:

pred_vals <- apply(pop_dist_data, 1, predicted_value_generator(fit_data[3], fit_data[4], fit_data[5], fit_data[6], pop_dist_data[,3], pop_dist_data[,4], pop_dist_data[,5], pop_dist_data[,9]))

预期输出是这样的:

> pred_vals
[1] 0.43 0.96 0.33 0.5 0.27

fit_data参数是恒定的,无论行,但是pop_dist_data参数应该采取在每个特定行是一个字段的值。

执行此操作的最有效方法是什么?

先感谢您。

G.格洛腾迪克

这里有几个问题:

  • dat[:, j]不是有效的 R 语法。dat[, j]

  • R0 无处定义

  • predicted_value_generator 是矢量化的,所以我们不需要 apply

  • pop_dist_data 没有 9 列

  • 向 SO 提出的问题应以可重现的方式显示,以便人们可以简单地复制和粘贴问题中的代码和数据。这可以通过显示dput(X)每个输入的输出来完成X我在最后的注释中做到了这一点。

假设R0定义了缺失,尝试将两个数据框绑定在一起,然后使用适当的列名调用函数。

with(cbind(pop_dist_data, fit_data), 
       predicted_value_generator(theta1, tau_host, tau_targ, rho, 
                                 host_city_pop, target_city_pop, distance, R0))

笔记

可重现形式的输入:

pop_dist_data <-
structure(list(X = 3:7, time_to_spread = c(2L, 2L, 1L, 2L, 1L
), host_city_pop = c(198100L, 198100L, 198100L, 198100L, 198100L
), target_city_pop = c(622104L, 622104L, 622104L, 622104L, 622104L
), distance = c(460.819668, 460.819668, 460.819668, 460.819668, 
460.819668)), .Names = c("X", "time_to_spread", "host_city_pop", 
"target_city_pop", "distance"), class = "data.frame", row.names = c("4", 
"5", "6", "7", "8"))

fit_data <- 
structure(list(X = 0L, theta1 = 0.05447868, tau_host = 3.288922e-09, 
    tau_targ = 0.1491428, rho = 0.00820936), .Names = c("X", 
"theta1", "tau_host", "tau_targ", "rho"), class = "data.frame", row.names = "1")

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将函数应用于ndarray的每一行

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

来自分类Dev

合并两个R数据帧并标识每一行的源

来自分类Dev

如何为R中的数据帧的每一行生成降价文档

来自分类Dev

R将计算应用于数据框的每一行和每一列

来自分类Dev

计算R中数据帧每一行中连续出现的特定值

来自分类Dev

如何将数据帧的每个元素乘以R中每一行的元素总和?

来自分类Dev

将自定义函数应用于R中数据帧中每一行的两列

来自分类Dev

R中具有数据帧的每一行的最小值

来自分类Dev

在R中,对两个匹配数据帧的每一行进行排序

来自分类Dev

创建新变量,将数据帧的所有变量除以每一行中的相同变量-R

来自分类Dev

R将数据帧的每一行分成两行

来自分类Dev

如何通过R下的for循环将Wilcoxon测试应用于矩阵的每一行

来自分类Dev

在转到R中的下一行之前,如何使函数返回每一行的值?

来自分类Dev

将自定义函数应用于r中的每一行

来自分类Dev

使用R中的Apply系列将2列数据帧的每一行传递给我创建的函数?

来自分类Dev

R-将3个参数函数应用于3列矩阵的每一行,并使用3列的每个值作为参数

来自分类Dev

R将数据框中的每一列除以最后一行的值

来自分类Dev

R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

来自分类Dev

将函数应用于ndarray的每一行

来自分类Dev

在R中打印合并数据帧的每一行

来自分类Dev

R将函数应用于数据框的每一行,将结果存储在同一数据框的新列中

来自分类Dev

为R数据帧中的每一行绘制一个函数

来自分类Dev

创建评分函数并将其应用于R中的每一行

来自分类Dev

跨数据帧R多列的每一行的gsub

来自分类Dev

在R中为数据帧的每一行绘制不同的行

来自分类Dev

R将数据帧的每一行分成两行

来自分类Dev

R将新行追加到每一行

Related 相关文章

  1. 1

    将函数应用于ndarray的每一行

  2. 2

    R将数据框中的每一列除以最后一行的值

  3. 3

    R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

  4. 4

    合并两个R数据帧并标识每一行的源

  5. 5

    如何为R中的数据帧的每一行生成降价文档

  6. 6

    R将计算应用于数据框的每一行和每一列

  7. 7

    计算R中数据帧每一行中连续出现的特定值

  8. 8

    如何将数据帧的每个元素乘以R中每一行的元素总和?

  9. 9

    将自定义函数应用于R中数据帧中每一行的两列

  10. 10

    R中具有数据帧的每一行的最小值

  11. 11

    在R中,对两个匹配数据帧的每一行进行排序

  12. 12

    创建新变量,将数据帧的所有变量除以每一行中的相同变量-R

  13. 13

    R将数据帧的每一行分成两行

  14. 14

    如何通过R下的for循环将Wilcoxon测试应用于矩阵的每一行

  15. 15

    在转到R中的下一行之前,如何使函数返回每一行的值?

  16. 16

    将自定义函数应用于r中的每一行

  17. 17

    使用R中的Apply系列将2列数据帧的每一行传递给我创建的函数?

  18. 18

    R-将3个参数函数应用于3列矩阵的每一行,并使用3列的每个值作为参数

  19. 19

    R将数据框中的每一列除以最后一行的值

  20. 20

    R:按因子将函数应用于数据帧的每一行,在函数中调用一个值(按因子)

  21. 21

    将函数应用于ndarray的每一行

  22. 22

    在R中打印合并数据帧的每一行

  23. 23

    R将函数应用于数据框的每一行,将结果存储在同一数据框的新列中

  24. 24

    为R数据帧中的每一行绘制一个函数

  25. 25

    创建评分函数并将其应用于R中的每一行

  26. 26

    跨数据帧R多列的每一行的gsub

  27. 27

    在R中为数据帧的每一行绘制不同的行

  28. 28

    R将数据帧的每一行分成两行

  29. 29

    R将新行追加到每一行

热门标签

归档