我正在 R 中研究 104500 个观察值的数据集。我想根据具有值“TX”和“NY”的列名“state”删除行。
我正在使用以下代码
customers <- customers[customers$State != "TX"]
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
错误:逻辑索引向量的长度必须是 1 或 11(行数),而不是 104541
任何人都可以帮我解决这个问题吗?
小智 6
我想你最后错过了一个逗号。
customers <- customers[customers$State != "TX", ]
^
Run Code Online (Sandbox Code Playgroud)
因此,您可以根据过滤器和所有列选择行。
HTH
下次请提供一个可重现的例子。
我建议你学习如何使用dplyr和其他包中的tidyverse. 我发现它们是清理数据不可或缺的工具。
以下是我在数据集中dplyr过滤掉德克萨斯州和纽约州的方法:
library(dplyr)
customers = filter(customers, State != "TX" & State != "NY")
Run Code Online (Sandbox Code Playgroud)
或者,
customers = filter(customers, !(State %in% c("TX", "NY")))
Run Code Online (Sandbox Code Playgroud)