←
PDF 182 / 520 Exercises
→
English · PDF 182
Original PDF page 182
中文 · PDF 182

练习题

    1. 为什么 gather() 和 spread() 不是完全对称的?请仔细思考下面的例子:

stocks <- tibble( year = c(2015, 2015, 2016, 2016), half = c( 1, 2, 1, 2), return = c(1.88, 0.59, 0.92, 0.17) ) stocks %>% spread(year, return) %>% gather("year", "return", 2015:2016)

(提示:观察变量的类型,并思考列的名称。)

spread() 和 gather() 都有一个 convert 参数。它的作用是什么?

    1. 为什么这段代码会失败?

table4a %>% gather(1999, 2000, key = "year", value = "cases") #> Error in eval(expr, envir, enclos): #> Position must be between 0 and n

    1. 为什么对这个 tibble 进行 spread 操作会失败?你如何添加一个新列来解决这个问题?

people <- tribble( ~name, ~key, ~value, #-----------------|--------|------ "Phillip Woods", "age", 45, "Phillip Woods", "height", 186, "Phillip Woods", "age", 50, "Jessica Cordero", "age", 37, "Jessica Cordero", "height", 156 )

    1. 整理这个简单的 tibble。你需要使用 spread 还是 gather?变量有哪些?

preg <- tribble( ~pregnant, ~male, ~female, "yes", NA, 10, "no", 20, 12 )