【问题标题】:How can I remove all rows for which the variable YYYYMM ends with 13?如何删除变量 YYYYMM 以 13 结尾的所有行?
【发布时间】:2015-11-22 15:58:32
【问题描述】:

我有一个包含年份和月份的变量 (YYYYMM),但是在构建数据集时,数据集中有一个“月份”13,它是每一年所有月份的总和。我要删除的那些行。

我的问题是:如何删除变量 YYYYMM 以 13 结尾的所有行?

【问题讨论】:

  • 举个例子..

标签: r


【解决方案1】:

我们可以使用substr 来提取第 5 和第 6 位的数字,创建一个逻辑向量 (!=13) 并对行进行子集化。

 df1[substr(df1[,'var'],5,6)!=13,]

【讨论】:

  • 嗨@akrun 感谢您的回答。 5和6是干什么用的? R 响应: x$YYYYMM 中的错误:$ 运算符对原子向量无效。你知道那是什么意思吗?
  • @Elina 你确定你有data.frame吗?可以发str(yourdataframe)
  • @Elina 你能测试一下编辑后的代码吗?可能你有一个matrix。
  • @Elina 5和6是位置,即如果数字是201409,那么substr提取的第5和第6位置是'09'
  • 我意识到我的数据是一团糟。现在您建议的命令完美运行 - 谢谢!
猜你喜欢
  • 2022-11-24
  • 1970-01-01
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多