1. Why might the lengths() function be useful for creating atomic vector columns from list-columns?

The lengths() function returns the lengths of each element in a list. It could be useful for testing whether all elements in a list-column are the same length. You could get the maximum length to determine how many atomic vector columns to create. It is also a replacement for something like map_int(x, length) or sapply(x, length).

2. List the most common types of vector found in a data frame. What makes lists different?

The common types of vectors in data frames are:

  • logical
  • numeric
  • integer
  • character
  • factor

All of the common types of vectors in data frames are atomic. Lists are not atomic since they can contain other lists and other vectors.

LS0tDQp0aXRsZTogIlNpbXBsaWZ5aW5nIGxpc3QtY29sdW1ucyINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQotLS0NCg0KDQojIyMgMS4gV2h5IG1pZ2h0IHRoZSBgbGVuZ3RocygpYCBmdW5jdGlvbiBiZSB1c2VmdWwgZm9yIGNyZWF0aW5nIGF0b21pYyB2ZWN0b3IgY29sdW1ucyBmcm9tIGxpc3QtY29sdW1ucz8NCg0KVGhlIGBsZW5ndGhzKClgIGZ1bmN0aW9uIHJldHVybnMgdGhlIGxlbmd0aHMgb2YgZWFjaCBlbGVtZW50IGluIGEgbGlzdC4gSXQgY291bGQgYmUgdXNlZnVsIGZvciB0ZXN0aW5nIHdoZXRoZXIgYWxsIGVsZW1lbnRzIGluIGEgbGlzdC1jb2x1bW4gYXJlIHRoZSBzYW1lIGxlbmd0aC4gWW91IGNvdWxkIGdldCB0aGUgbWF4aW11bSBsZW5ndGggdG8gZGV0ZXJtaW5lIGhvdyBtYW55IGF0b21pYyB2ZWN0b3IgY29sdW1ucyB0byBjcmVhdGUuIEl0IGlzIGFsc28gYSByZXBsYWNlbWVudCBmb3Igc29tZXRoaW5nIGxpa2UgYG1hcF9pbnQoeCwgbGVuZ3RoKWAgb3IgYHNhcHBseSh4LCBsZW5ndGgpYC4NCg0KIyMjIDIuIExpc3QgdGhlIG1vc3QgY29tbW9uIHR5cGVzIG9mIHZlY3RvciBmb3VuZCBpbiBhIGRhdGEgZnJhbWUuIFdoYXQgbWFrZXMgbGlzdHMgZGlmZmVyZW50Pw0KDQpUaGUgY29tbW9uIHR5cGVzIG9mIHZlY3RvcnMgaW4gZGF0YSBmcmFtZXMgYXJlOg0KDQogLSBgbG9naWNhbGANCiAtIGBudW1lcmljYA0KIC0gYGludGVnZXJgDQogLSBgY2hhcmFjdGVyYA0KIC0gYGZhY3RvcmANCg0KQWxsIG9mIHRoZSBjb21tb24gdHlwZXMgb2YgdmVjdG9ycyBpbiBkYXRhIGZyYW1lcyBhcmUgYXRvbWljLiBMaXN0cyBhcmUgbm90IGF0b21pYyBzaW5jZSB0aGV5IGNhbiBjb250YWluIG90aGVyIGxpc3RzIGFuZCBvdGhlciB2ZWN0b3JzLg0K