将命名列表传递给cols_only()

时间:2017-02-18 17:34:45

标签: r readr

当我尝试做这样的事情时:

data <- read_csv("blah.csv",
+                n_max = 100,
+                col_types = cols_only(list(files = "c"))
+ )
Error: Some `col_types` are not S3 collector objects: 1

所以问题是是否可以将命名列表传递给cols_only()

2 个答案:

答案 0 :(得分:2)

当然,只需使用cheapestSource: Ember.computed('priceSources.@each.price', function() { return DS.PromiseObject.create({ promise: this.get('priceSources').then(sources => { let resultObj = {} //sources is normal array you can apply your logic and set resultObj return resultObj; }) }); }) 将列表用作函数的参数,例如

do.call

答案 1 :(得分:1)

cols_only参数的适当上下文是拼写您想要专门读入的列以及您想要分配给列的类型。

示例:

data<-read_csv("blah.csv",
  n_max=100,
  col_types = cols_only(
              pumkins = col_factor(c("Hooligan", "Cinderella", "Big Max")),
              weight = col_double()
              ))

在这种情况下,我打开了两个名为南瓜的列,并为每个类型分配了一个类型,在南瓜的情况下,分析了因子水平。 cols_only将接受列表,但列表如上所述。您可以根据需要在该列表中放置尽可能多的列名和类型描述符。

如果你想只是一个字母,那么你可以这样设置它:

            c<-cols_only(
                  pumkins = col_factor(c("Hooligan", "Cinderella", "Big Max")),
                  weight = col_double())

然后直接放下c:

data <- read_csv("blah.csv",
           n_max = 100,
           col_types = c)
           )