有没有一种使用的方法,根据某些条件过滤列?这有点令人困惑,因为它与正常筛选相反。
我在SO上没有找到直接适用的内容。找到了这个和这个但它们做的不完全相同。
基本上,我想根据行的值删除列,而不是根据列的值过滤行。
以下示例使用以下数据框:
我知道这是一组奇怪的数据,而且列中包含不同类型的数据。这正是提出问题的原因,我正在尝试清理它们。
以下是传统子集方法的
我在SO上没有找到直接适用的内容。找到了这个和这个但它们做的不完全相同。
基本上,我想根据行的值删除列,而不是根据列的值过滤行。
以下示例使用以下数据框:
df <- data.frame(aa = c("1", "a", "10.2", "12.1", "8.7"),
ab = c("1", "b", "5.3", "8.1", "9.2"),
ac = c("0", "a", "1.8", "21.5", "16.0"),
ad = c("0", "b", "11.1", "15.9", "23.6"))
我知道这是一组奇怪的数据,而且列中包含不同类型的数据。这正是提出问题的原因,我正在尝试清理它们。
以下是传统子集方法的
base
解决方案,返回列"ab"和"ad":df[, df[2,] == "b"]
有没有一种使用dplyr
来完成这个任务的方法?我尝试使用filter
,select
和subset
都无法实现,但可能我在这种情况下使用它们不正确。