【问题标题】:Import from Web CSV to the data frame?从 Web CSV 导入数据框?
【发布时间】:2019-01-14 00:17:25
【问题描述】:

我从链接 Hearthstone Arena Card Pickup probability 获得了一个 CSV 文件

现在只是一个向量列表,我想转换成 9 列数据框。所以它可能看起来像:

我当前的代码如下,但它根本不起作用。

hsd <- read.csv("hearthstonedraw.csv", header = TRUE)
hsd1 <- as.data.frame(hsd,ncol = 9)
hsd1

【问题讨论】:

  • 图片和屏幕截图可以很好地添加到帖子中,但请确保帖子在没有它们的情况下仍然清晰且有用。 不要发布代码或错误消息的图像。 而是直接将实际代码/消息复制并粘贴到帖子中。
  • 您不需要“转换为 9 列数据框”read.csv 已经返回了 data.frame,所以 as.data.frame 是多余的。您确定该文件是 CSV 文件吗?
  • read.csv 创建一个数据框。试试str(hsd) 看看这个。我通过运行hsd &lt;- read.csv("https://bnetcmsus-a.akamaihd.net/cms/gallery/LN4X4GN4W59R1532566073433.csv", header = TRUE) 确认并获得了数据名...

标签: r csv dataframe import-from-csv


【解决方案1】:

答案是 Maurits Evers 和 Adam Sampson。 read.csv 可以读取您指定的地址并自动将 character 列转换为因子(默认行为)以及计算列数。

hsd1 <- read.csv("https://bnetcmsus-a.akamaihd.net/cms/gallery/LN4X4GN4W59R1532566073433.csv", header = TRUE)
str(hsd1)
# 'data.frame': 3931 obs. of  9 variables:
#  $ Draft.Class : Factor w/ 9 levels "Druid","Hunter",..: 1 1 1 1 1 1 1 1 1 1 ...
#  $ Card.Name   : Factor w/ 995 levels "Abominable Bowman",..: 716 813 646 500 263 964 549 186 509 984 ...
#  $ Rarity      : Factor w/ 5 levels "basic","common",..: 1 1 2 2 2 1 1 2 5 2 ...
#  $ Type        : Factor w/ 3 levels "Minion","Spell",..: 2 2 2 2 1 2 2 1 2 2 ...
#  $ Card.Class  : Factor w/ 10 levels "druid","hunter",..: 1 1 1 1 1 1 1 1 1 1 ...
#  $ Average     : num  1.47 1.45 1.44 1.17 1.03 ...
#  $ P.1.or.more.: num  0.78 0.776 0.774 0.696 0.649 ...
#  $ P.2.or.more.: num  0.436 0.431 0.428 0.327 0.273 ...
#  $ P.3.or.more.: num  0.1784 0.1757 0.1724 0.1081 0.0819 ...
ncol(hsd1)
# [1] 9
# There are 9 columns in the data frame

【讨论】:

    猜你喜欢
    • 2020-12-29
    • 2018-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-14
    • 2022-08-14
    • 2015-06-30
    • 2015-02-07
    相关资源
    最近更新 更多