【问题标题】:Subset data by distinct variables (multiple times)不同变量的子集数据(多次)
【发布时间】:2014-08-30 15:14:15
【问题描述】:

我有一个由国家代码表示的十个国家的数据集。我想要每个国家的一个子集。这行得通,但我想知道是否有更快的方法:

France <- subset(data, Country == 100)
Britain <- subset(data, Country == 101)
Italy <- subset(data, Country == 102)

...

我想要的是根据变量 Country 的值创建十个数据集。有什么想法吗?

提前致谢

狮子座

【问题讨论】:

    标签: r subset


    【解决方案1】:

    你可以做 split 并将其保存在列表中

    lst <- setNames(split(data, data$Country), c("France", "Britain", "Italy"))
    list2env(lst, .GlobalEnv)
    
    France
    

    【讨论】:

    • 非常感谢阿克伦!我现在快到了 - 帮了大忙!但是,无论如何,都可以使用各个国家/地区名称创建数据框。现在我添加了一个“国家
    • 绝对的传奇,阿克伦!非常感谢 - 我会在未来提供示例...... :-)
    • @LeoModest 不过,我建议您在列表本身内部执行操作,而不是拆分为单独的数据集,除非您对每个数据集执行不同的操作。如果是要将数据集保存到多个文件中,仍然可以使用lapply(lst, function(x) write.table(....))
    猜你喜欢
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-30
    • 2020-12-29
    相关资源
    最近更新 更多