【问题标题】:Recommended way to create variable, flexible dataframe?推荐的创建可变、灵活数据框的方法?
【发布时间】:2019-06-18 03:55:01
【问题描述】:

给定一个具有各种值和长度的表,为列分析创建数据框的最佳方法是什么?

例如,给定一个如下所示的未标记 CSV:

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

我们的目标是最终根据每个字母出现的位置为其分配一个值。

考虑到行的变量和未知长度,我应该如何解决这个问题?设置一个包含大量列的数据框作为占位符?

【问题讨论】:

  • 不清楚你想要实现什么。您能否根据第一行 A、B、A、C 给出输出的示例?
  • 将数据加载到数据框中后,您可以使用library(tidyverse); df %>% rowid_to_column("row") %>% separate_rows(V1, sep = ",") 将其转换为一个长表,其中每个值都有一行,并注意它从哪一行开始。这应该是可重塑的转换成你想要的任何格式。

标签: r


【解决方案1】:

一种选择是使用readLines() 将每一行作为向量中的一个元素读取 -

x <- readLines("test.csv") # add appropriate path to the file
x
[1] "A,B,A,C"              "A,B,C,D,E,F"                                                 
[3] "B,C,A,B,F,F,F"        "A,B"                                                         
[5] "B,C,D"                "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,Y,X,Z,AA,AB,AC"

现在您可以根据需要操作此向量的每个元素,然后将结果组合成您想要的结构。这样您就不必“设置一个包含大量列的数据框作为占位符”

【讨论】:

    猜你喜欢
    • 2020-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多