I have a dataset of survey responses similar to this:

```
toy <- data.frame(v1 = c(1,2,3), v2 = c(1,6,3), v3 = c(1,2,4), v4 = c(1,7,3))

toy
  v1 v2 v3 v4
1  1  1  1  1
2  2  6  2  7
3  3  3  4  3

```

I want to detect "straightlining" by finding the most common value for each row and calculating the proportion of columns with that value.

Two examples:

* if the value of every column in a row is 5, then the new variable should return 1
* If the value of 60% of the columns in a row is 3 and 40% of the columns is 4, then the variable should return .6

Desired output:

```
  v1 v2 v3 v4 straightline_pct
1  1  1  1  1   1
2  2  6  2  7 .50
3  3  3  4  3 .75

```