如何解决R:逐行应用多个数学表达式
我对 R 还是很陌生,我正在尝试使用来自数据帧每一行的值(称为 x)来应用 3 个不同的方程。方程中的变量是来自 x 中某些列的值。我想以方程的结果结束,因为它是自己的数据帧/表,还包括初始数据帧的第一列。
这是我的数据框 x 的示例。
column1 name1 name2 name3 name4 name5
A 85.30000 0.07700000 38.00000 NaN NaN
B 19.20000 0.53466667 NaN NaN NaN
C 56.06667 0.38333333 NaN NaN NaN
D 94.51667 0.12000000 19.00000 NaN 43.00000
E 18.80000 0.24000000 12.00000 1.000000 9.50000
x 中实际上有 100 多行。 Column1 代表名称(每一行是不同的名称),其余的列是不同的变量/参数。行本质上是“属于”列 1 中名称的数据(每列中值的顺序很重要)。
M.Est<-function(a,b,c,d){
Lenth<-nrow(function(a,d))
one<-4.99%*%(d^-0.916)
two<-4.11%*%(a^0.73)%*%(b^-0.331)
three<-a%*%(c%/%b)^-1.5
return(data.frame(eval(one),eval(two),eval(three)))
}
M.columns=cbind(M.Est(name1,name2,name3,name4))
final=data.frame(x[,1],M.columns)
colnames(final,c("column1","Res_one","Res_two","Res_three")
其中 x 是我的数据框,(name1,name4) 分别是数据框 x 中的一列,我没有使用每一列。然而,这不起作用,我无法弄清楚如何将 NaN 值整合到其中。
如果在任何行中应用的任何方程的输入中有 NaN 值,我仍然希望将方程结果包含在输出中,作为 Na/NaN。等式结果列的顺序需要匹配 x 中原始行的顺序(没有数据丢失/删除),以便它们与 x 中第一列的顺序对应/匹配(因为 x 的第 1 列中的值代表名字)。
这是我正在寻找的“最终”示例(这些不是 res 列的实际值应该是什么)
column1 Res_one Res_two Res_3
A 85.30000 0.07700000 38.00000
B 19.20000 0.53466667 NaN
C 56.06667 0.38333333 NaN
D 94.51667 0.12000000 19.00000
E 18.80000 0.24000000 12.00000
我应该如何解决这个问题?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。