我有一個帶有一列數字的 df。
3
5
6
7
9
10
3
6
5
10
3
6
7
使用 R,我如何創建一個函式來為我提供列中的數字?
我試著解決這個問題
is.prime <- function(n) n == 2L || all(n %% 2L:ceiling(sqrt(n)) != 0)
但沒有得到我想要的結果,因為我希望程式檢查列,而不是單獨提供數字。
uj5u.com熱心網友回復:
is.prime函式可以使用for回圈或任何apply命令應用于每個數字,因此您無需單獨傳遞值。
is.prime <- function(n) n == 2L || all(n %% 2L:ceiling(sqrt(n)) != 0)
df$is_prime <- sapply(df$V1, is.prime)
df
# V1 is_prime
#1 3 TRUE
#2 5 TRUE
#3 6 FALSE
#4 7 TRUE
#5 9 FALSE
#6 10 FALSE
#7 3 TRUE
#8 6 FALSE
#9 5 TRUE
#10 10 FALSE
#11 3 TRUE
#12 6 FALSE
#13 7 TRUE
正如@Ben Bolker 提到的,要獲取可用于sum上述輸出的列中的總素數計數。
sum(df$is_prime)
#[1] 7
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/318515.html
標籤:r
上一篇:如何為多個n多次運行R代碼
