【问题标题】:Deleting certain rows from a data frame从数据框中删除某些行
【发布时间】:2013-06-24 05:44:12
【问题描述】:

数据是机密的,所以这里是一个虚拟数据框。

  i1  i2 o1
1 72 3.1 69
2 12 1.1 46
3 16 2.0 37
4 16 7.9 70
5 24 7.0 27
6 12 9.9 49 

我想将这个数据框分成 3 个固定大小的数据框,但必须选择行而不替换。在这里,假设我使用 :-

选择其中的一个随机部分
x=sample(6,3);
df_part1=df[x,]

随机选择的行是:-

  i1  i2  o1
4 16  2.0  37
6 12  9.9  49 
1 72  3.1  69

现在,在我选择第二部分之前,我想从数据框中删除这些特定的行。我该怎么办?

【问题讨论】:

    标签: r random dataframe regression


    【解决方案1】:

    听起来您实际上想要split 您的数据框,而不是从中删除行。如果数据帧大小相同,并且您希望提取的三个数据帧是随机样本,请指定如下内容:

    split(df, sample(1:3,dim(df)[1],TRUE))
    

    获取三个采样的、互斥的数据帧的列表。无需从原始数据框中删除任何内容。

    另外,如果你想让数据帧有不同的大小,你可以在sample 中指定一个prob 参数。

    【讨论】:

      【解决方案2】:

      您可以先对1:6 进行采样,然后从打乱后的 6 个数字中提取信息:

      tmp <- sample(6, 6)
      

      tmp[1:3], tmp[4:6] 会给你信息,你可以从那里开始。我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-07
        • 2021-06-16
        • 1970-01-01
        • 2018-06-29
        • 1970-01-01
        • 2011-03-17
        • 1970-01-01
        相关资源
        最近更新 更多