如何使用按行创建基于函数的列表列 [英] How to use rowwise to create a list column based on a function
本文介绍了如何使用按行创建基于函数的列表列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有这些数据和此函数:
a <- data.frame(a= c(1,2,3), b=c(2,3,4))
fun <- function(q,y,z) {
r <- data.frame(a = c(q+y, q, q, y), b= c(q,q,q,z))
r
}
我要将该函数分别应用于每行并创建一个列表列,其中每行在此新列中都有自己的数据框。
以下是我尝试的内容,但出现错误。
b <- a %>% rowwise(a) %>% mutate(list1 = list(fun(a, b, c)))
推荐答案
数据中没有c
列。如果要传递"z"的默认值
library(dplyr)
out <- a %>%
rowwise %>%
mutate(list1 = list(fun(a, b, z = 0)))
-输出
out$list1
[[1]]
a b
1 3 1
2 1 1
3 1 1
4 2 0
[[2]]
a b
1 5 2
2 2 2
3 2 2
4 3 0
[[3]]
a b
1 7 3
2 3 3
3 3 3
4 4 0
这篇关于如何使用按行创建基于函数的列表列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文