我正在通过编写一个考虑数字并返回其主要因子的函数来学习R(见下文)。
prime<-function(x){
{num<-x %% 2:(x-1) == 0
}
return(num)}
我得到True或False的输出,但我正在寻找True的记录值。例如:如果x = 9,我将获得其素数因子3.我尝试了“num&lt; -any(x %% 2:(x-1)== 0)”和“num&lt; -which(x %% 2) :(x-1)== 0)“但是都没有带来预期的结果。您的建议会有很大帮助。
答案 0 :(得分:1)
如果您使用
num <- which(x %% 2(x - 1) == 0) + 1
应该工作得很好。
答案 1 :(得分:1)
试试这个:
prime<-function(x){
seq <- 2:(x-1)
num<-x %% seq == 0
seq[num]
}
prime(9)
[1] 3