首页 > 解决方案 > 使用逻辑矩阵对小标题进行子集?

问题描述

我有一个逻辑矩阵。如何使用它来子集小标题并替换值?

例如:如果我们有一个数据框:

dat <- head(iris)[1:3]
dat[dat>3.5] <- 0
dat

如果我有一个小标题怎么办?

library(tidyr) # ver 1.0.0
dat <- as_tibble(head(iris)[1:3])
dat[dat>3.5] <- 0 ## DOES NOT WORK. Howto go around this?

错误:

dat[dat>3.5]
Error: Must use a vector in `[`, not an object of class matrix.
Run `rlang::last_error()` to see where the error occurred.


rlang::last_error()
<error/rlang_error>
Must use a vector in `[`, not an object of class matrix.
Backtrace:
 1. dat[dat > 3.5]
 2. tibble:::`[.tbl_df`(dat, dat > 3.5)
 3. tibble:::check_names_df(i, x)

标签: rtidyrtibble

解决方案


推荐阅读