HSF1 <- HSF1[!duplicated(HSF1$sample_id), ] Error in `HSF1[!duplicated(HSF1$sample_id), ]`: ! Can't subset rows with `!duplicated(HSF1$sample_id)`. ✖ Logical subscript `!duplicated(HSF1$sample_id)` must be size 1 or 480, not 0. Run `rlang::last_trace()` to see where the error occurred.
时间: 2024-03-04 21:50:55 浏览: 105
这个错误是因为在使用 `!duplicated(HSF1$sample_id)` 时,没有符合条件的行被找到,导致逻辑向量的长度为0,无法进行行子集的操作。
你可以尝试检查一下 `HSF1$sample_id` 是否存在缺失值或者重复值,或者确认一下数据框 `HSF1` 是否已经被正确加载。另外,你也可以使用 `dplyr` 包中的 `distinct()` 函数来达到去除重复值的目的,例如:`HSF1 <- distinct(HSF1, sample_id, .keep_all = TRUE)`。
相关问题
row.names(HSF1)=HSF1$sample_id HSF1<-HSF1[,-c(1,3)]为什么这个一操作行名就会消失
这是因为在执行 `row.names(HSF1)=HSF1$sample_id` 时,将原来的行名(默认为行号)替换成了 `HSF1$sample_id`,而在执行 `HSF1<-HSF1[,-c(1,3)]` 时,实际上是对数据框 `HSF1` 进行了列子集的操作,没有对行名进行任何操作,因此行名并没有被保留下来。
如果你需要保留 `HSF1$sample_id` 作为行名,可以在执行完 `row.names(HSF1)=HSF1$sample_id` 后,将 `HSF1$sample_id` 这一列删除,例如:`HSF1$sample_id <- NULL`。这样就可以保留 `HSF1$sample_id` 作为行名,并且不会出现在数据框中的某一列。
阅读全文