【问题标题】:Extracting rows from dataframe R从数据框 R 中提取行
【发布时间】:2018-09-17 13:41:02
【问题描述】:

我有一个小问题。我设法从其他两个数据框创建数据框,这很好,但我的行太多。示例:

**PL|WPLF05652203|Terytorium_nowe|F109|2017-05-14|F106|2017-09-05**
PL|WPLF05652203|Terytorium_nowe|F109|2017-05-14|F106|2017-09-07
PL|WPLF05652203|Terytorium_nowe|F109|2017-05-14|F106|2017-09-11
PL|WPLF05652203|Terytorium_nowe|F109|2017-05-14|F106|2017-09-14
PL|WPLF05652203|Terytorium_nowe|F109|2017-05-14|F107|2018-03-04
PL|WPLF05652203|Terytorium_nowe|F109|2017-05-14|KB|2018-05-13
**PL|WPLF05652203|Terytorium_nowe|F106|2017-09-05|F109|2017-09-06**
PL|WPLF05652203|Terytorium_nowe|F106|2017-09-05|F109|2017-09-10
PL|WPLF05652203|Terytorium_nowe|F106|2017-09-05|F109|2017-09-12
PL|WPLF05652203|Terytorium_nowe|F106|2017-09-05|F109|2017-09-17
PL|WPLF05652203|Terytorium_nowe|F106|2017-09-05|F107|2018-03-04
PL|WPLF05652203|Terytorium_nowe|F106|2017-09-05|KB|2018-05-13
**PL|WPLF05652203|Terytorium_nowe|F109|2017-09-06|F106|2017-09-07**

我应该只有** 之间的行。 问题是如何提取它们,我应该创建什么规则或条件,或者如何提取其余部分以仅保留相关性。创建 this 的数据条件是

   If FullDataSet$date[i] <= FullDataSet1$date[j]

所以很明显第一个日期早于第二个日期,但我不想有那么多记录。新日期应与下一行的旧日期匹配。

感谢您的帮助。最好的问候

【问题讨论】:

  • ** 的行类型是什么?
  • 类似FullDataSet[!duplicated(FullDataSet[1:5]), ]?
  • @SalmanLashkarara 这并不重要,因为我可以在最后改变它。可以是字符可以是日期
  • @RuiBarradas 它不起作用,因为每一行都是唯一的。一般来说,这些是更改日志。所以**中的行是那些更改日志,其他的是未来的更改。前任。在“2017-09-05”之后,下一个变化是“2017-09-06”,下一个变化是“2017-09-07”。因此,不在 ** 之间的行只是后来的变化,而是不同的日期
  • 您的数据是哪个classdata.frame?如果是这样,它是否只有一列 data.frame 或 |划分列?

标签: r date dataframe data-analysis


【解决方案1】:

我通过消除您文本中的星号并使用

从文件中读取来重现您的情况
df <- read.table('text.txt', sep = '|')

您可以检查前 5 列中的唯一行。

df[which(!duplicated(df[,1:5])),]

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多