划分R中列表中的列

时间:2017-10-12 14:38:45

标签: r

我正在尝试在data.frame中添加一列,并将该新列的输出作为第3列第3列的划分,这是一个示例:

mylist <- list( a=c(0,1,2),b=c(0,2,3),c=c(0,4,5))

返回:

$a
[1] 0 1 2

$b
[1] 0 2 3

$c
[1] 0 4 5

我想回复:

$a
[1] 0 1 2 2

$b
[1] 0 2 3 1.5

$c
[1] 0 4 5 1.25

请帮忙

2 个答案:

答案 0 :(得分:1)

我们可以使用list遍历lapply,将第3个元素除以第2个元素并与原始vector

连接
lapply(mylist, function(x) c(x, x[3]/x[2]))

答案 1 :(得分:1)

我们可以使用purrr包。

library(purrr)

map(mylist, ~c(., .[3]/.[2]))
$a
[1] 0 1 2 2

$b
[1] 0.0 2.0 3.0 1.5

$c
[1] 0.00 4.00 5.00 1.25