【问题标题】:how to re-organized a column based on other number repetition column in a datframe in r?如何根据 r 中数据框中的其他数字重复列重新组织列?
【发布时间】:2021-07-05 07:32:30
【问题描述】:

我的数据框 (1700000x3) 有 3 列:

  • 日期:从 2011 年到 2019 年(在整个日期中随机选择日期和月份)
  • light:从 350 转到 2299(一个接一个)然后重新启动
  • ID:目标
  • V:值

这就是我的数据的样子(快速示例):

date light ID V
2013-06-17 350 p01 0.1
2013-06-17 351 p01 0.1
2013-06-17 352 p01 0.2
2013-06-17 353 p01 0.3
2013-06-17 354 p01 0.1
2013-06-17 355 p01 0.1
2013-04-18 ... p01 0.1
2013-06-17 2297 p01 0.2
2013-06-17 2298 p01 0.3
2013-06-17 2299 p01 0.2
2014-04-18 350 r03 0.1
2014-04-18 351 r03 0.4
2014-04-18 352 r03 0.1
2014-04-18 353 r03 0.6
2014-04-18 354 r03 0.2
2014-04-18 355 r03 0.1
2014-04-18 ... r03 0.1
2014-04-18 2297 r03 0.5
2014-04-18 2298 r03 0.5
2014-04-18 2299 r03 0.6

到这里为止一切顺利!问题在于,在数据框的中间,LIGHT 列的数字不是从 350 到 2299,而是从 2299 到 350。这些已针对多个 ID 进行了验证。 数据框的一部分如下所示:

date light ID V
2014-07-31 2299 s01 0.1
2014-07-31 2298 s01 0.1
2014-07-31 2297 s01 0.2
2014-07-31 2296 s01 0.3
2014-07-31 2295 s01 0.1
2014-07-31 2294 s01 0.1
2014-07-31 ... s01 0.1
2014-07-31 352 s01 0.2
2014-07-31 351 s01 0.3
2014-07-31 350 s01 0.2
2014-07-31 2299 x03 0.1
2014-07-31 2298 x03 0.4
2014-07-31 2297 x03 0.1
2014-07-31 2296 x03 0.6
2014-07-31 2295 x03 0.2
2014-07-31 2294 x03 0.1
2014-07-31 ... x03 0.1
2014-07-31 352 x03 0.5
2014-07-31 351 x03 0.5
2014-07-31 350 x03 0.6

我想要的是让 LIGHT 列始终具有从 350 到 2299 的数字间隔,然后从 350 到 2299 重新开始,依此类推。此操作必须尊重其他列、日期、V“值”和 ID。

重要提示:我有不同日期的相同代码!!

我无法找到此类特定问题的答案。

任何帮助将不胜感激。

【问题讨论】:

    标签: r dataframe data-manipulation organization


    【解决方案1】:

    只需按 ID 排序然后点亮?

    your.data %<>% arrange( ID, light )
    

    【讨论】:

    • 谢谢。这不起作用,因为它将每个灯光中的所有 ID 和对应值分组。例如p01当光照为350,r03当光照为350,s01当光照为350,以此类推。我想要的是分别维护每个 ID 的光值序列(350 到 2299)。例如:ID=s01 有灯。 350, 351 352...2298, 2299, 序列。
    • 我不明白..每个ID都有自己的光值序列,对吧?先按ID排序,再按光排序似乎是正确的方式
    • 确实如此。问题是我在不同的日期使用相同的代码,然后使用此代码序列不被尊重。我忘了写那个。对不起。
    • 对我设法解决的代码进行了一些调整。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 2022-10-07
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多