2016-04-12 18 views
0

我將用r編程創建測量。但我是新的。我想要統計每個人的「是」和「否」答案。並與他們創建數據。我怎樣才能做到這一點?我的代碼如下:我如何計算y/n在r中的答案?

survey <- c ("Are you student?", "Do you drive car?", "Do you smoke cigarette?") 

surveyfunct <- function(v,m){ 
    for(i in 1:length(v)) 
     {m <-readline(v[i]) 
     if (m == "yes" && m == "no"){ 
      m <- readline(v[i+1])}} 
    return (list(m))} 
+0

請您可以顯示完整的代碼,以使您的問題可重現。記住R是矢量化的,所以像sum(v ==「yes」)這樣的代碼很有用 –

+0

這也是我的完整代碼,這是我正在嘗試的完整問題。 「創建一個包含20個(是/否)問題的調查問題將分別由用戶 看到,並且應該只接受」是「或」否「作爲答案。您應該創建一個 向量以保留用戶給出的所有答案因此,在一個用戶完成回答後,所有問題都會將他/她的回答保存到名爲「answers.csv」的文件中,如果新用戶填寫了 ,他/她的回答應該被添加到同一個文件中。 – davut

+0

你想使用R作爲刺激演示env嗎? 1.這是不可取的,原因很多(我會選擇psychopy)2.如果你錯過了,請查看[link](http://stackoverflow.com/questions/11007178/creating-a-prompt -answer-系統到輸入數據 - 進入 - R)? 3.如果真的必須/想在R中做到這一點,請看看Shiny [link](http://shiny.rstudio.com/) – Pasqui

回答

0

對於收集的答案,你可以使用這樣的溫控功能

survey <- c ("Are you student?", "Do you drive car?", "Do you smoke cigarette?") 

surveyfunct <- function(q){ 

    return (readline(q))} 

answers=sapply(survey,surveyfunct) 

那麼你可以子集所需的答案,或者它們全部寫爲CSV。

如果你只想要是\無人接聽,您可以添加,同時

surveyfunct <- function(q){ 
    h=0 
    while (h==0){ 

    a=readline(q) 
    if(a %in% c("yes","no")){ 
     h=1} 
    } 
    return (a)} 

對於數,您可以簡單地使用table

例如

> answers=sapply(survey,surveyfunct) 
Are you student?yes 
Do you drive car?no 
Do you smoke cigarette?yes 
> table(answers) 
answers 
no yes 
    1 2 
相關問題