r - 列表中的元素。

标签 r list

我在 R 中相对较新(约 3 个月),所以我刚刚掌握了所有不同的数据类型。虽然列表是一种将不同数据都保存在一个地方的 super 有用的方法,但它们对于函数调用也极其不灵活,并且让我感到焦虑。

对于我正在做的工作,我经常使用列表,因为我需要保存一堆不同长度的向量。例如,我正在跟踪大约 10,000 辆不同车辆的性能统计数据,并且有些车辆非常相似,它们在某些分析中基本上可以被视为相同的车辆。

假设我们有以下车辆 ID 列表:

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

为简单起见。

我想做两件事:
  • 告诉我特定车辆在列表的哪个元素中。所以当我告诉 R 我正在处理车辆 2 ,它应该告诉我b[2] .我觉得它应该像你怎么做一样简单
    match(3,b)
    > 2
    
  • 将其转换为数据框或类似内容,以便将其另存为 CSV。未使用的行可能为空或 NA .到目前为止我必须做的是:
    for(i in length(List)) {
    length(List[[i]]) <- max(as.numeric(as.matrix(summary(List)[,1])))
    }
    DF <- as.data.frame(List)
    

  • 这似乎很愚蠢。

    最佳答案

    对于你的第一个问题:

    which(sapply(List, `%in%`, x = 3))
    # b 
    # 2 
    

    对于您的第二个问题,您可以使用这样的函数:
    list.to.df <- function(arg.list) {
       max.len  <- max(sapply(arg.list, length))
       arg.list <- lapply(arg.list, `length<-`, max.len)
       as.data.frame(arg.list)
    }
    list.to.df(List)
    #    a b  c
    # 1  1 2  5
    # 2 NA 3 NA
    # 3 NA 4 NA
    

    关于r - 列表中的元素。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13040543/

    相关文章:

    r - 使用填充美学两次,具有两种不同的比例

    c++ - 在 Windows 上诊断构成 R 包一部分的 C++ 代码中的内存泄漏

    python - 如何使用 python 将列表中的信息填充到多个 JSON 对象中?

    python - 在 Python 2.7 中,根据列表中的项目在 csv 中创建单独的标题

    reactjs - 更改列表项的背景

    R 项目组合 3 组

    限制R中绘图中水平线的长度

    r - download.file() 在 Windows 上生成 "invalid"zip 文件,但在 Mac 上工作正常

    .net - 使用类的谓词来搜索通用列表 - 比循环更快?

    java - 如何定义二维列表