r - 创建一个包含可变数量列表的列表

标签 r list

我需要按照以下格式从数据框的行创建一个列表:

df <- data.frame(y1 = c("a", "d"), y2 = c("b", "e"), y3 = c("c", "f"))
df$y1 <- as.character(df$y1)
df$y2 <- as.character(df$y2)
df$y3 <- as.character(df$y3)
x <- list(
  list(y1 = df$y1[1],
       y2 = df$y2[1],
       y3 = df$y3[1]),
  list(y1 = df$y1[2],
       y2 = df$y2[2],
       y3 = df$y3[2])
)

> x
[[1]]
[[1]]$`y1`
[1] "a"

[[1]]$y2
[1] "b"

[[1]]$y3
[1] "c"


[[2]]
[[2]]$`y1`
[1] "d"

[[2]]$y2
[1] "e"

[[2]]$y3
[1] "f"

这是数据框中有两行的示例。当数据框中的行数可变时,如何实现这一点?因此对于数据框中的每一行,都应该有一个列表。

最佳答案

我们也可以通过遍历行并将 as.list 应用到每一行来使用 apply:

apply(df, 1, as.list)
[[1]]
[[1]]$y1
[1] "a"

[[1]]$y2
[1] "b"

[[1]]$y3
[1] "c"


[[2]]
[[2]]$y1
[1] "d"

[[2]]$y2
[1] "e"

[[2]]$y3
[1] "f"

关于r - 创建一个包含可变数量列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54052704/

相关文章:

mysql - 使用双重连接选择多个表值

java - java中的通用列表初始化

R 在替换数据框中的列时省略值

r - 如何使用 dplyr 计算一组行与目标行之间的差异?

r - 如何操作或转置数据集以便在 R 或 SPSS 中使用

c# - 比较两个列表并删除相同的结果c#

javascript - 如何根据 HTML 页面中的用户输入编辑列表

list - JSF:将字符串添加到列表

r - 通过 apply R 使用模拟

r - 为什么 Filter 无法提取数字的因数?