簡體   English   中英

如何在特定列上使用 sapply function?

[英]How to use sapply function on specific columns?

我有一個 function 刪除沒有給定數量的唯一值的列。 該命令對整個數據幀執行此操作。 我將如何在特定列上執行此操作? 說第 3 到 50 列? 謝謝。

ms_10 <- ms_10[, sapply(ms_10, function(col) length(unique(col))) > 440]

您可以先對數據進行子集化,然后再應用相同的 function。

new_data <- ms_10[3:50]
new_data <- new_data[, sapply(new_data, function(col) length(unique(col))) > 440]

如果您不想創建臨時變量 ( new_data )。

ms_10[3:50][, sapply(ms_10[3:50], function(col) length(unique(col))) > 440]

我們也可以使用dplyr

library(dplyr)

ms_10 %>%
  select(3:50) %>%
  select(where(~n_distinct(.) > 440))

我們可以用

Filter(function(x) length(unique(x)) > 440, ms_10[3:50])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM