【问题标题】:How to create a data frame with repeated values basis value taken from a list?如何创建具有从列表中获取的重复值基础值的数据框?
【发布时间】:2021-01-01 12:09:50
【问题描述】:

我有一个列表说列表 X,它有 26 个成员,比如 A...Z

如何创建一个包含一列的数据框,使得 A 出现 100 次,B 出现 100 次,以此类推?

然后我必须将这个数据框与 2600 个值连接到另一个没有字母表引用的数据框中,但我知道它们是有序的,每个字母表都有 100 个值。对于模拟,您可以创建一个包含 2600 个随机值的数据框。

这是一个易于重现的示例。感谢您对 R 代码的帮助?还是可以通过完整案例选项来完成,其中一个数据框有 26 个值,另一个有 2600 个值?

【问题讨论】:

    标签: r list dataframe for-loop


    【解决方案1】:

    如果我们要复制,请在unlisting 之后使用rep。通过这种方式,它比循环遍历 listreplicating 每个元素更有效

    data.frame(col1 = rep(unlist(X), each = 100))
    

    【讨论】:

    • 我希望列表值重复,请仔细阅读问题
    【解决方案2】:

    您可以尝试以下选项:如何创建一个包含一列的数据框,使得 A 出现 100 次,B 出现 100 次,依此类推...?

    #Data
    List <- as.list(LETTERS)
    #Code
    x <- as.data.frame(do.call(c,lapply(List,function(x) rep(x,100))))
    rownames(x)<-NULL
    names(x) <- 'v1'
    table(x$v1)
    

    新数据帧x中第一个变量的输出:

      A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X 
    100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 
      Y   Z 
    100 100 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-23
      • 2021-04-28
      • 1970-01-01
      • 2020-06-17
      相关资源
      最近更新 更多