A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | explanations | class | type | optional | name | showif | label | choice1 | choice2 | choice3 | choice4 | choice5 | choice6 | choice7 | choice8 | choice9 | choice10 | choice11 | choice12 | value |
2 | formr won´t read this column, so it won´t change anything. If you like, you can add more columns for structuring or for translating side-by-side etc. If you want to know more about columns, please visit the documentation page (https://formr.org/public/documentation#sample_survey_sheet). | note | note_feedback | ## note You can use a note for feedback plots. For example, this is what 100 dots look like. ```{r} library(ggplot2) qplot(rnorm(100), rnorm(100) ) + theme_bw() + ylab("More dots") + xlab("Dots") ``` Wow, right? | ||||||||||||||||
3 | get code | * | code | |||||||||||||||||
4 | note | note_for_items_to_follow | #### by the way In Excel you can make a new line using Alt+Enter (Windows) or Alt+Apple+Enter (Mac). In Google Sheets, it's Alt+Enter on both platforms. You can start a new paragraph by using a blank line. In the `label` column you can use HTML und [Markdown](http://daringfireball.net/projects/markdown/syntax) and `knitr`. Here's a very handy [reference guide](http://www.rstudio.com/wp-content/uploads/2015/03/rmarkdown-reference.pdf). Make text __bold__ through `__bold__`, make it *italic* through `*italic*`. ## Introduction All available widgets follow. They should work in all current and fairly many older browsers. | |||||||||||||||||
5 | random 0,1 | ran_group | ||||||||||||||||||
6 | a simple text field. You can put a Regular Expression pattern behind the "text", e.g. "text [0-9][A-G]" permits only input like 0A, 1G, but not AA etc. | text | abode | ## text Where do you live? | ||||||||||||||||
7 | textarea are like text fields but with multiple lines | big-textarea | textarea | yourstory | ## textarea And why would anybody want to live _there_? | |||||||||||||||
8 | multiple choice question are the workhorse of many a psychological study and quizzes | mc | mc_polytheism | ### mc How many Gods? Depending on what you answer here, you get a different question next. Try it out. | none | one | two | a whole bunch | ||||||||||||
9 | this item has a showif, it's only shown if you're a monotheist | square square80 | mc_button | mc_god | mc_polytheism == 2 | ### mc <sup title="If you can't make up your mind, you probably want to click Cthulhu." class="hastooltip"><i class="icon-circle-blank"></i></sup> A simple multiple-choice question with three choices (and a hint). | Spaghetti Monster | Cthulhu | Glob | |||||||||||
10 | this item has a showif, it's only shown if you're a polytheist | square square80 | mc_multiple_button | ! | mc_multi_gods | mc_polytheism> 2 | ### mc_multiple So, who do you believe in? <sup title="If you can't make up your mind, you probably want to click Cthulhu." class="hastooltip"><i class="icon-circle-blank"></i></sup>. This is a simple multiple-choice question with three choices (and a hint), but you need to choose at least one (we enforced this with a !). Most items require you to make a choice, but for mc_multiple and check this doesn't make sense. | Spaghetti Monster | Cthulhu | Glob | ||||||||||
11 | You may have noticed the second sheet `choices`in this spreadsheet-file. In this sheet you can find the columns `list_name`,`name` and `label`. This is an alternate way to specify the items possible choices. Please switch to the `choices`-sheet to learn more. | mc_vertical | mc many_choices | multiplechoice_several | ### mc Choose one! A multiple-choice/radio button question with more choices. We can give more spaces to the choices by specifying a [CSS](http://reference.sitepoint.com/css) class in the `class` column. | |||||||||||||||
12 | mc_block mc_first_left | mc_multiple many_choices | mc_multiple_many | ### mc_multiple mc_multiple or multiple-multiple-choice/checkboxes. Now you can select several choices. The choices appear comma-separated in the results. | ||||||||||||||||
13 | This item shows the first choice (specified in column `choice1`), then the numbers specified in the `type` column (`1,5,1`= min,max,step; in this case the numbers 1,2,3,4 and 5 will be displayed ), then the second choice (specified in column `choice2`). | rating_button 1,5,1 | rating_button | ### rating_button 5 What do you prefer? You may want to use rating-buttons as an item-type for your studies, because they look nice and are easy to handle. You can force the width of the labels on the side to be constant using classes. | eternal suffering | complete meaninglessness | ||||||||||||||
14 | blank_button | rating_button 1,5,1 | rating_button2 | ### rating_button 5 You have the choice between a variety of visual styles (and eternal suffering and complete meaninglessness). You get these blank buttons by adding the class `blank_button`. | eternal suffering | complete meaninglessness | ||||||||||||||
15 | analogue_rating_scale | rating_button 1,20,1 | rating_button3 | ### rating_button 1,20,1 Class `analogue_rating_scale`. Do away with labels, simply let your users pick a point on the scale. These may be better than the sliders below, because they don't have a default value (which will be "picked" very often by lazy participants). | eternal suffering | complete meaninglessness | ||||||||||||||
16 | your_email | ### email Enter some email address. Email addresses are automatically checked for syntax in newer browsers. You still need to write to them, to find out if somebody is using it, though. | ||||||||||||||||||
17 | Numbers can of course be restricted through parameters in the `type`-column: `number minimum,maximum,step` where `step` is the unit/smallest possible step and defaults to 1. To allow arbitrary accuracy, step has to be `any`. Should you want to specify just a minimum or just a maximum, or just a step, leave the commas in place, e.g. `number ,120,1` | number 0,32,1 | teeth | ### number 0,32,1 How many teeth do you have? | ||||||||||||||||
18 | ||||||||||||||||||||
19 | left500 | range_ticks 1,5,1 | slider_list | ### range_ticks 1,5,1 You can make sliders with this item type.By defining two choices, you can also label the slider's poles. Range uses the same options as `number`. `range_ticks` shows 'ticks', i.e. marks for every useable value on the scale. Thus, it doesn't make sense to use range_ticks for very large ranges. | yay | nay | ||||||||||||||
20 | bigleft | range 1,100,1 | slider | ### range 1,100,1 Same as `range_ticks` without ticks. | cool | not cool | ||||||||||||||
21 | select_one time_periods | time_period | ### select When were you born? `select` is a different way to display `mc`. It's useful when you have many choices. | |||||||||||||||||
22 | select_multiple | partner | ### select_multiple Who do you love? `select_multiple` is a different way to display `mc_multiple`. Probably not usually a good idea, because many people don't know how to select multiple choices (shift click). | Gisele | Angie | Heribert | ||||||||||||||
23 | ||||||||||||||||||||
24 | ||||||||||||||||||||
25 | By specifying `*` in the `optional` column users can skip the question without being forced to answer it. | mc_button | * | btnmc | ### mc_button Who do you love more? An `mc` field with larger buttons that are easier to click. It looks best, when the text on each button is of comparable length. | mom | dad | |||||||||||||
26 | By specifying `!` in the `optional` column you force users to choose at least one option. | square square80 | mc_multiple_button | hobbies | ### mc_multiple_button What are your hobbies then? An `mc_multiple` field with larger buttons. To differentiate it from mc_button which would otherwise look the same, I recommend adding the class `square`. It's worth calling people's attention to the fact that multiple choices can be selected. | <i class="fa fa-2x fa-bicycle"></i> | <i class="fa fa-2x fa-binoculars"></i> | <i class="fa fa-2x fa-cutlery"></i> | <i class="fa fa-2x fa-money"></i> | |||||||||||
27 | this item is optional by default, otherwise you'd be making people an "offer they can't refuse". If that's your intention (e.g. to say "agree with my terms if you want to go on"), write ! in the optional column | check | confirm1 | ### check Do you wish to be bothered with an extra question? | ||||||||||||||||
28 | This one has a showIf: `confirm1 == 1`. `confirm1`is the name of the item you are referring to. `=1` is the value the item `confirm1` must have if the item `confirm2` shall be displayed. In this case `confirm2` will only be displayed if you checked that you wanted to be bothered with another question (because that is what `confirm1` asks). Another example: If you wanted to show this item to persons that are over 18 years old only, you would have to set the `showif` to: `age =>18`. Showifs can also refer to surveys that were answered before this one in the run. | check_button | confirm2 | confirm1 == 1 | ### check_button Like `check` with a larger button. This will only be displayed if you checked that you wanted to be bothered with another question. | |||||||||||||||
29 | ||||||||||||||||||||
30 | ||||||||||||||||||||
31 | time 11:00,12:00 | time | ### time What time is it? | |||||||||||||||||
32 | date 01.01.2012, now (date min, max): The definition of min, max is optional. In this case users can choose dates between 01.01.2012 and the present date(now). | date 01.01.2012,now | last_toenail_cut | ### date When was the last time you cut your toenails? | ||||||||||||||||
33 | ||||||||||||||||||||
34 | month | month | FALSE | ### month And your favourite month? | ||||||||||||||||
35 | By adding `FALSE` to the `showif`column, you can hide the item. | datetime-local | datetimelocaltest | FALSE | ### datetime-local | |||||||||||||||
36 | datetime | datetimetest | FALSE | ### datetime | ||||||||||||||||
37 | yearmonth | yearmonthtest | FALSE | ### yearmonth | ||||||||||||||||
38 | week | weektest | FALSE | ### week | ||||||||||||||||
39 | ||||||||||||||||||||
40 | ||||||||||||||||||||
41 | tel | telephone | FALSE | # tel For telephone numbers. Most devices don't do anything special with this yet, but it might show a numeric dial pad on a phone or even bring up the phonebook. | ||||||||||||||||
42 | url | internet_address | FALSE | # url For internet addresses | ||||||||||||||||
43 | cc | creditcard | FALSE | # cc | ||||||||||||||||
44 | color | colour | # color What's your cat's favourite color (hint: it can't really differentiate red and green)? | |||||||||||||||||
45 | geopoint | geoloc | ### geopoint This item saves GPS coordinates, which can be taken from actual GPS or e.g. Google's WiFi database if you're on a non-GPS device. | |||||||||||||||||
46 | referrer | last_outside_referrer | ### REFERRER Which site this user came from | |||||||||||||||||
47 | ip | ip_address | ### IP | |||||||||||||||||
48 | browser | browser | ### get the user's browser Useful to find out if all e.g. Smartphone users tend to get stuck. | |||||||||||||||||
49 | ||||||||||||||||||||
50 | select_or_add_one | ! | fav_tv_series | ### select_or_add_one What's your favourite TV series? If you need more choices (why would you), just add your own by typing into the search field and pressing enter. | The Wire | Adventure Time | ||||||||||||||
51 | select_or_add_multiple | m_fav_tv_series | ### select_or_add_multiple What are your favourite TV series? If you need more choices (why would you), just add your own. | The Wire | Adventure Time | |||||||||||||||
52 | Now, we go to the second page | submit | page1 | Go on | ||||||||||||||||
53 | Now, because formr has a strong privacy orientation, we never give out data after it has been entered, unless you explicitly say so. In this case, we need it: we want to dynamically show a question based on both a question on the first and this page. So, we "import" that value as a hidden field. | hidden | monotheist | ifelse(mc_polytheism == 2, 1, 0) | ||||||||||||||||
54 | note | random_note | Now, we shuffled you into one of two experimental groups. | |||||||||||||||||
55 | This requires no special techniques, we can check whether this condition is true on the server (safer). | mc | kitten | ran_group == 0 | #### Kittens Do you like kittens? ![kitten](https://upload.wikimedia.org/wikipedia/commons/thumb/f/f3/Youngkitten.JPG/320px-Youngkitten.JPG) | adore them | well, yes | |||||||||||||
56 | This requires the special field above, because we want to react immediately, but part of the information was given on the first page, part on this page. | mc | if_you_like_kittens | monotheist == 1 & kitten == 1 | You say you believe in only one God, but also adore kittens. This sounds suspiciously close to idolatry. Who do you prefer? | ```{r} gods = c("1" = "Spaghetti Monster", "2" = "Cthulhu", "3" = "Glob") god_name = gods[mc_god] ``` `r god_name` | Kittens | |||||||||||||
57 | mc | puppy | ran_group == 1 | #### Puppies Do you like puppies? ![puppy](https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Puggle_puppy_%28cropped%29.jpg/395px-Puggle_puppy_%28cropped%29.jpg) | adore them | well, yes | ||||||||||||||
58 | mc | if_you_like_puppies | monotheist == 1 & puppy == 1 | You say you believe in only one God, but also adore puppies. This sounds suspiciously close to idolatry. Who do you prefer? | ```{r} gods = c("1" = "Spaghetti Monster", "2" = "Cthulhu", "3" = "Glob") god_name = gods[mc_god] ``` `r god_name` | Puppies | ||||||||||||||
59 | timezone | timez | ### timezone In which timezone were you born? | |||||||||||||||||
60 | mc_width70 rotate_label45 | mc_heading | heading | ### mc_heading A standard format for economising space in paper-pencil, value for online studies doubtful? | No | A little? | Who's asking? | I'm tough!11 | so tough | |||||||||||
61 | by the way, if you give several items the same stem and then add numbers, you can automatically let the formr R package compute scales, reliabilities etc. If you add an R to the end, like tough3R, formr will reverse the item automatically for you. | hide_label mc_width70 rotate_label45 | mc | tough1 | So, you think you're tough? | No | A little? | Who's asking? | I'm tough!11 | so tough | ||||||||||
62 | hide_label mc_width70 rotate_label45 | mc | tough2 | But, are you durable? | No | A little? | Who's asking? | I'm tough!11 | so tough | |||||||||||
63 | note | limit_note | You have 100 dollars. Spend them wisely! Or try to spend more/less than what you have and see what happens. | |||||||||||||||||
64 | number 0,100,1 | the_needy | Spend on the needy. | |||||||||||||||||
65 | number 0,100,1 | suffering_animals | Spend on suffering animals. | |||||||||||||||||
66 | block | no_more_than_100 | (the_needy + suffering_animals) > 100 | You can't spend more than a hundred dollars because of capitalisms. (If you try to submit now, you won't be able to). | ||||||||||||||||
67 | block | no_less_than_100 | (the_needy !== "" & suffering_animals !== "") & ((the_needy + suffering_animals) < 100) //js_only | Are you trying to keep the money? What about the suffering animals? Have you no heart? | ||||||||||||||||
68 | tel | phone_number | What's your number? | |||||||||||||||||
69 | note_iframe | iframenote | You can even include interactive R graphics, but only if you use the item type `note_iframe`. ```{r} library(rbokeh) p <- figure() %>% ly_points(Sepal.Length, Sepal.Width, data = iris, color = Species, glyph = Species, hover = list(Sepal.Length, Sepal.Width)) p ``` | |||||||||||||||||
70 | submit | submit | Submit to go on. | |||||||||||||||||
71 | ||||||||||||||||||||
72 | ||||||||||||||||||||
73 | ||||||||||||||||||||
74 |