2017-04-11 86 views
0

这是我的R上的代码,它不断让我的消息错误:意外“}”在“}”在一个循环内循环(而功能)

Error: unexpected '}' in " }"

,当我尝试运行它。问题是什么?我检查了括号的平衡,并根据论坛应该工作。

n = 1 
while(n < 3) { 
    i = 2 
    while (i < 17) { 
     data_freq = data_pourcentage %>% 
      filter(groupe = i & groupe = n) %>% 
      mutate(pourcentage = sum(freq)) %>% 
      mutate(pourcentage = freq/pourcentage) 
     data_pourcentage = left_join(
      data_freq, 
      data_pourcentage, 
      by = c(
       "sujet", "groupe", "identification", 
       "cristallisation", "valence", "freq") 
      ) 
     i = i + 1 
    } 
    n = n + 1 
} 
+1

你可以提供一些示例数据,以便我们可以真正运行它吗? – eckes

+3

'filter'命令中的'&'是个问题。只用'过滤器(groupe = i)'一切正常。你的意思是'filter(groupe = c(i,n))'? –

+0

真棒,这是问题!你摇滚队友:D –

回答

0

&中的filter命令是问题所在。只要filter(groupe = i)一切正常。要组合更多组件,请使用filter(groupe= c(i,n))

n = 1 
while(n < 3) { 
    i = 2 
    while (i < 17) { 
     data_freq = data_pourcentage %>% 
      filter(groupe = c(i,n)) %>% 
      mutate(pourcentage = sum(freq)) %>% 
      mutate(pourcentage = freq/pourcentage) 
     data_pourcentage = left_join(
      data_freq, 
      data_pourcentage, 
      by = c("sujet", "groupe", "identification", 
        "cristallisation", "valence", "freq") 
      ) 
     i = i + 1 
    } 
    n = n + 1 
}