【问题标题】:Split a dataset into multiple datasets based on a parameter根据参数将数据集拆分为多个数据集
【发布时间】:2019-05-08 04:20:16
【问题描述】:

我有一个大型数据集,并希望根据特定列值将其拆分为多个数据集。此列是以英里为单位的距离(例如从 1.34 英里到 19.92 英里),我想每 1/4 英里拆分一次。

我需要使用子集还是拆分?

【问题讨论】:

  • 你需要split:split(dataset, dataset$mile %/% 0.25)
  • 谢谢大家,我使用了这段代码,它完成了我想要的。但是我怎么能在这里重复一个函数,我的意思是在拆分数据后我现在有数百个子数据集,现在我需要找到每个子数据集的 SD。我尝试自己做,但我认为有一种有用的方法可以在一个命令中找出 SD,而不是写下数百个命令。

标签: r


【解决方案1】:

您可以使用dplyr::ntile,但正如文档中所述,它是“一个粗略的排名,它将输入向量分成 n 个桶。

library(dplyr)
num_bins = ceiling((19.92 - 1.34)/0.25)
df %>%
  mutate(bin = ntile(value, num_bins)) %>% 
  group_split(bin)

【讨论】:

    猜你喜欢
    • 2020-04-23
    • 1970-01-01
    • 1970-01-01
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    相关资源
    最近更新 更多