2016-10-18 5 views
-5

私は、コードエラーError: unexpected '}' in "}"エラー `エラー:予期しない '}' で "}"`

Eratosthenes <- function(n) { 
    if (n >= 2) { 
    sieve <- seq(2,n) 
    primes <- c() 
    for (i in seq(2,n)) { 
     if (any(sieve == i)) { 
     primes <- c(primes, i) 
     sieve <- c(sieve[(sieve %% i) ! = 0], i) 
     } 
    } 
    return(primes) 
} else { 
    stop("Input value of n should be at least 2.") 
    } 
} 

を持っています。しかし、すべてが}で完璧と思われますが、私は間違っていません。誰が私の間違いがどこにあるのか教えていただけますか?

+3

あなたが本当にrstudioを使用している:ここでは

は、私の作品にフォーマットコードですか?もしあなたがいたら、問題は明らかでなければならない。また、コードをコピーしてrstudioに貼り付けておくと、適切な字下げを行い、括弧の始まりと終わりを表示します。 – rawr

+0

はい、しかし正しい操作をした後でも同じエラーが発生しました – SpinningAtInfinity

+0

' ! = '。 –

答えて

1

問題がここに表示されますsieve <- c(sieve[(sieve %% i) ! = 0], i)。私はあなたが "と等しくない"と思っているので、sieve <- c(sieve[(sieve %% i) != 0], i)でなければなりません。

Eratosthenes <- function(n) { 
    if (n >= 2) { 
    sieve <- seq(2,n) 
    primes <- c() 
    for (i in seq(2,n)) { 
     if (any(sieve == i)) { 
     primes <- c(primes, i) 
     sieve <- c(sieve[(sieve %% i) != 0], i) 
     } 
    } 
    return(primes) 
    } else { 
    stop("Input value of n should be at least 2.") 
    } 
} 
1

Rと私はあなたのコードの裁判官になることはできませんが、内側のIFステートメントに括弧がありませんか?このような

for (i in seq(2,n)) { 
     if (any(sieve == i)) { 
      primes <- c(primes, i) 
      sieve <- c(sieve[(sieve %% i) != 0], i) 
     } 
} 
+0

笑、同じことを言うつもりだった。これは、適切なインデントが重要である理由です。 – Profex

+0

申し訳ありませんが、その後も同じエラーが発生しました – SpinningAtInfinity

関連する問題