我有一个函数可以删除没有给定数量的唯一值的列。此命令对整个数据帧执行此操作。如何在特定的列上执行此操作?比如说第3到50列?谢谢。
ms_10 <- ms_10[, sapply(ms_10, function(col) length(unique(col))) > 440]发布于 2021-03-01 16:17:03
您可以先对数据进行子集,然后再应用相同的函数。
new_data <- ms_10[3:50]
new_data <- new_data[, sapply(new_data, function(col) length(unique(col))) > 440]如果您不想创建临时变量(
)。
ms_10[3:50][, sapply(ms_10[3:50], function(col) length(unique(col))) > 440]我们还可以使用
:
library(dplyr)
ms_10 %>%
select(3:50) %>%
select(where(~n_distinct(.) > 440))发布于 2021-03-02 01:23:06
我们可以使用
Filter(function(x) length(unique(x)) > 440, ms_10[3:50])https://stackoverflow.com/questions/66418592
复制相似问题