【问题标题】:Convert character vector to data.frame with max row limit?将字符向量转换为具有最大行限制的 data.frame?
【发布时间】:2020-04-02 15:07:59
【问题描述】:

是否可以将字符向量转换为最大行长度为 5 的 data.frame,并且字符向量只是填充行,根据需要创建尽可能多的新列来放置所有数据以满足需求最多 5 行限制?

这是我想使用的向量示例

> Animals
 [1] "Dogs"         "Cats"         "Birds"        "Fish"         "Rabbits"      "Horses"       "Cows"         "Sheep"        "Leech"        "Cheetah"     
[11] "Chicken"      "Fox"          "Monkey"       "Stingray"     "Pug"          "Parrot"       "Lion"         "Donkey"       "Bat"          "Crab"        
[21] "Dolphin"      "Killer Whale" "Peacock"      "Turkey"  

【问题讨论】:

    标签: r


    【解决方案1】:

    您可以根据列数计算行数,并将数据添加到可以更改为数据框的矩阵中。

    nr <- 5
    nc <- ceiling(length(Animals)/nr)
    data <- as.data.frame(matrix(Animals[1:(nr*nc)], ncol = nc))
    

    【讨论】:

    • 哦,很酷,它确实完成了我想要的大部分工作。忘了在帖子中提及,我还希望能够使用Animals[2]Animals[5] 之类的内容访问每个列列表。所以我可以将专栏发送到我需要的地方。我发现当尝试使用矩阵运行这种类型的语句时,它只返回一个前导字符?有什么好的解决方法?
    • 您可以使用 data[1]data[2] 等来访问数据框中的每一列。
    • 刚刚看到更新很甜蜜。顺便说一句,“ncol = nc”的功能是什么?列数 = 天花板设置?
    • 是的,检查?matrix它是使用nc &lt;- ceiling(length(Animals)/nr)计算的列数
    猜你喜欢
    • 2013-05-24
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    相关资源
    最近更新 更多