我想从 apply() 函数返回多个值并将它们放在 R 中的单独列中,但我不断收到错误。我想做的是:
experiments$result1, experiments$result2, experiments$result3 <- apply(experiments, 1,
function(row)
#Some analysis here
#return x, y, and z for column result1, result2, and result3
x, y, z
)
也许这是解决问题的错误方法。实验是一个包含多列数据的数据框。我想附加列,这些列是每一行的分析结果,但我不知道如何在没有循环的情况下做到这一点,这对于 R 来说不是惯用的。提前感谢您的帮助。
所以这里有一些更准确的代码。
experiments$result1, experiments$result2, experiments$result3 <- apply(experiments, 1, function(row)
x <- row["startingTemp"]*2
y <- row["startingTemp"]*3
z <- row["startingTemp"]*4
return (list(x, y, z))
)
“startingTemp”字段是我的“实验”数据框中的列之一。我收到“闭包”类型不是子集且找不到对象“z”的错误。