R 运行函数时如何排除1?

R 运行函数时如何排除1?,r,R,问题是: 有一个软件包具有一个函数,可以让您检查一个数字是否为素数。install.packages(“schoolmath”)库(schoolmath)是.prim(3) 创建一个接受两个整数的函数(将默认值1设置为两个整数)。函数应该计算两个值之间的素数。 我的代码是: install.packages("schoolmath") library(schoolmath) is.prim(3) prime <- function(x) { p <- 0 p1

问题是: 有一个软件包具有一个函数,可以让您检查一个数字是否为素数。install.packages(“schoolmath”)库(schoolmath)是.prim(3) 创建一个接受两个整数的函数(将默认值1设置为两个整数)。函数应该计算两个值之间的素数。 我的代码是:

install.packages("schoolmath") 
library(schoolmath) 
is.prim(3)

prime <- function(x)
{

    p <- 0
    p1 <- ifelse(is.prim(x) == "TRUE", p + 1, p)
    return(sum(p1 == 1))
   }
prime(seq(1,10,1))
install.packages(“schoolmath”)
图书馆(学校数学)
is.prim(3)

prime您可以稍微简化您的函数,因为
是。prim
使用向量并查看
sum
函数的文档:

逻辑真值视为一,假值视为零

这是一个计算向量中素数的函数

count.primes <- function(x) {
   sum(x > 1 & is.prim(x))
}
ifelse(x>1&is.prim(x)=TRUE,p+1,p)
?顺便说一句,“真”和“真”不一样
count.primes(1:10)
# [1] 4

count.primes(1:20)
# [1] 8