gpt4 book ai didi

R 与自身合并

转载 作者:行者123 更新时间:2023-12-01 02:30:02 24 4
gpt4 key购买 nike

我可以合并数据吗

name,#797,"Stachy, Poland"
at_rank,#797,1
to_center,#797,4.70
predicted,#797,4.70

根据第二列并取第一列作为列名?
     name             at_rank to_center predicted
#797 "Stachy, Poland" 1 4.70 4.70

应要求提供全套资料: http://sprunge.us/cYSJ

最佳答案

如果您的带逗号的字符串被引用(它们似乎是),那么读取数据的第一个问题应该不是问题。使用 read.csvheader=FALSE参数对您共享的数据起作用。 (当然,如果数据文件有标题,请删除该参数。)

从那里,您有多种选择。这里有两个。

  • reshape (base R) 可以很好地解决这个问题:
    myDF <- read.csv("http://sprunge.us/cYSJ", header=FALSE)
    myDF2 <- reshape(myDF, direction="wide", idvar="V2", timevar="V1")
    head(myDF2)
    # V2 V3.name V3.at_rank V3.to_center V3.predicted
    # 1 #1 Kitoman 1 2.41 2.41
    # 5 #2 Hosaena 2 4.23 9.25
    # 9 #3 Vinzelles, Puy-de-Dôme 1 5.20 5.20
    # 13 #4 Whitelee Wind Farm 6 3.29 8.07
    # 17 #5 Steveville, Alberta 1 9.59 9.59
    # 21 #6 Rocher, Ardèche 1 0.13 0.13
  • reshape2 package 在这些情况下也很有用。它的语法更简单,输出也更“干净”(至少在变量名方面)。
    library(reshape2)
    myDFw_2 <- dcast(myDF, V2 ~ V1)
    # Using V3 as value column: use value.var to override.
    head(myDFw_2)
    # V2 at_rank name predicted to_center
    # 1 #1 1 Kitoman 2.41 2.41
    # 2 #10 4 Icaraí de Minas 6.07 8.19
    # 3 #100 2 Scranton High School (Pennsylvania) 5.78 7.63
    # 4 #1000 1 Bat & Ball Inn, Clanfield 2.17 2.17
    # 5 #10000 3 Tăuteu 1.87 5.87
    # 6 #10001 1 Oak Grove, Northumberland County, Virginia 5.84 5.84
  • 关于R 与自身合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13729545/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com