color <- c("red", "black")
name <- c("ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "jack", "queen", "king")
suit <- c("hearts", "spades", "diamonds", "clubs")
rank <- c(1:13)
value<- c(1:10, 10, 10, 10)

COLOR <- rep(rep(color, each = 13), times = 2)

SUIT <- rep(suit, each = 13)

NAME <- rep(name, times = 4)

RANK <- rep(rank, times = 4)

VALUE <- rep(value, times = 4)
  1. (20 points) Use data.frame() to combine the columns into a single data.frame called deck52. Confirm that your data.frame has 52 rows and 5 columns. Make sure it represents an actual deck of cards; check the picture to be sure. Run names(deck52) <- toupper(names(deck52)) to convert the column names to upper case. Display deck52.
color <- c("red", "black")
name <- c("ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "jack", "queen", "king")
suit <- c("hearts", "spades", "diamonds", "clubs")
rank <- c(1:13)
value<- c(1:10, 10, 10, 10)

COLOR <- rep(rep(color, each = 13), times = 2)

SUIT <- rep(suit, each = 13)

NAME <- rep(name, times = 4)

RANK <- rep(rank, times = 4)

VALUE <- rep(value, times = 4)


deck52 <- data.frame(COLOR, SUIT, NAME, RANK, VALUE)

names(deck52) <- toupper(names(deck52))

deck52
NA
NA
  1. (20 points) Build the 5 columns again but this time build the rank vector first. Build it like this: rank = [1,1,1,1,2,2,2,2, …, 12,12,12,12,13,13,13,13]. Then build the other 4 columns. Combine all 5 columns into a single data.frame called deck52again. Use the same column order that you used in the first part. Make the column names upper-case and display deck52again. Make sure it represents an actual deck of cards; check the picture to be sure.
rank <- c(1:13)
color <- c("red", "black")
name <- c("ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "jack", "queen", "king")
suit <- c("hearts", "spades", "diamonds", "clubs")
value<- c(1:10, 10, 10, 10)

RANK <- rep(rank, each = 4)

COLOR <- rep(color, times = 26)

SUIT <- rep(suit, times = 13)

NAME <- rep(name, each = 4)

VALUE <- rep(value, each = 4)


deck52again <- data.frame(COLOR, SUIT, NAME, RANK, VALUE)

names(deck52again) <- toupper(names(deck52again))

deck52again
NA
  1. (10 points) The paste() function is useful here. Make a new column called LONGNAME with entries like “3 of diamonds”, “jack of clubs”, etc. Add this column to deck52again. For full credit build LONGNAME with a single function call. Display deck52again.
rank <- c(1:13)
color <- c("red", "black")
name <- c("ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "jack", "queen", "king")
suit <- c("hearts", "spades", "diamonds", "clubs")
value<- c(1:10, 10, 10, 10)

RANK <- rep(rank, each = 4)

COLOR <- rep(rep(color, each = 13), times = 2)

SUIT <- rep(suit, each = 13)

NAME <- rep(name, each = 4)

VALUE <- rep(value, each = 4)

##longName creation

LONGNAME <- paste( NAME, SUIT, sep = " of ")


deck52again <- data.frame(LONGNAME, COLOR, SUIT, NAME, RANK, VALUE)

names(deck52again) <- toupper(names(deck52again))

deck52again
NA
LS0tDQp0aXRsZTogJ01vbnRpdmVyZGlfQ19kZWNrNTInDQpvdXRwdXQ6DQogIGh0bWxfbm90ZWJvb2s6IGRlZmF1bHQNCiAgcGRmX2RvY3VtZW50OiBkZWZhdWx0DQogIHdvcmRfZG9jdW1lbnQ6IGRlZmF1bHQNCiAgaHRtbF9kb2N1bWVudDoNCiAgICBkZl9wcmludDogcGFnZWQNCi0tLQ0KDQohW10oZGVja29mY2FyZHMucG5nKQ0KDQoNCg0KDQoNCmBgYHtyIG1lc3NhZ2U9VFJVRSwgd2FybmluZz1UUlVFfQ0KY29sb3IgPC0gYygicmVkIiwgImJsYWNrIikNCm5hbWUgPC0gYygiYWNlIiwgIjIiLCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiLCAiOSIsICIxMCIsICJqYWNrIiwgInF1ZWVuIiwgImtpbmciKQ0Kc3VpdCA8LSBjKCJoZWFydHMiLCAic3BhZGVzIiwgImRpYW1vbmRzIiwgImNsdWJzIikNCnJhbmsgPC0gYygxOjEzKQ0KdmFsdWU8LSBjKDE6MTAsIDEwLCAxMCwgMTApDQoNCkNPTE9SIDwtIHJlcChyZXAoY29sb3IsIGVhY2ggPSAxMyksIHRpbWVzID0gMikNCg0KU1VJVCA8LSByZXAoc3VpdCwgZWFjaCA9IDEzKQ0KDQpOQU1FIDwtIHJlcChuYW1lLCB0aW1lcyA9IDQpDQoNClJBTksgPC0gcmVwKHJhbmssIHRpbWVzID0gNCkNCg0KVkFMVUUgPC0gcmVwKHZhbHVlLCB0aW1lcyA9IDQpDQoNCmBgYA0KDQooQCkgICgyMCBwb2ludHMpIFVzZSBgZGF0YS5mcmFtZSgpYCB0byBjb21iaW5lIHRoZSBjb2x1bW5zIGludG8gYSBzaW5nbGUgZGF0YS5mcmFtZSBjYWxsZWQgYGRlY2s1MmAuICBDb25maXJtIHRoYXQgeW91ciBkYXRhLmZyYW1lIGhhcyA1MiByb3dzIGFuZCA1IGNvbHVtbnMuICBNYWtlIHN1cmUgaXQgcmVwcmVzZW50cyBhbiBhY3R1YWwgZGVjayBvZiBjYXJkczsgY2hlY2sgdGhlIHBpY3R1cmUgdG8gYmUgc3VyZS4gIFJ1biBgbmFtZXMoZGVjazUyKSA8LSB0b3VwcGVyKG5hbWVzKGRlY2s1MikpYCB0byBjb252ZXJ0IHRoZSBjb2x1bW4gbmFtZXMgdG8gdXBwZXIgY2FzZS4gIERpc3BsYXkgYGRlY2s1MmAuICANCg0KYGBge3J9DQpjb2xvciA8LSBjKCJyZWQiLCAiYmxhY2siKQ0KbmFtZSA8LSBjKCJhY2UiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjEwIiwgImphY2siLCAicXVlZW4iLCAia2luZyIpDQpzdWl0IDwtIGMoImhlYXJ0cyIsICJzcGFkZXMiLCAiZGlhbW9uZHMiLCAiY2x1YnMiKQ0KcmFuayA8LSBjKDE6MTMpDQp2YWx1ZTwtIGMoMToxMCwgMTAsIDEwLCAxMCkNCg0KQ09MT1IgPC0gcmVwKHJlcChjb2xvciwgZWFjaCA9IDEzKSwgdGltZXMgPSAyKQ0KDQpTVUlUIDwtIHJlcChzdWl0LCBlYWNoID0gMTMpDQoNCk5BTUUgPC0gcmVwKG5hbWUsIHRpbWVzID0gNCkNCg0KUkFOSyA8LSByZXAocmFuaywgdGltZXMgPSA0KQ0KDQpWQUxVRSA8LSByZXAodmFsdWUsIHRpbWVzID0gNCkNCg0KDQpkZWNrNTIgPC0gZGF0YS5mcmFtZShDT0xPUiwgU1VJVCwgTkFNRSwgUkFOSywgVkFMVUUpDQoNCm5hbWVzKGRlY2s1MikgPC0gdG91cHBlcihuYW1lcyhkZWNrNTIpKQ0KDQpkZWNrNTINCg0KDQpgYGANCg0KKEApICgyMCBwb2ludHMpIEJ1aWxkIHRoZSA1IGNvbHVtbnMgYWdhaW4gYnV0IHRoaXMgdGltZSBidWlsZCB0aGUgKipyYW5rKiogdmVjdG9yIGZpcnN0LiAgIEJ1aWxkIGl0IGxpa2UgdGhpczogKipyYW5rKiogPSBbMSwxLDEsMSwyLDIsMiwyLCAuLi4sIDEyLDEyLDEyLDEyLDEzLDEzLDEzLDEzXS4gIFRoZW4gYnVpbGQgdGhlIG90aGVyIDQgY29sdW1ucy4gIENvbWJpbmUgYWxsIDUgY29sdW1ucyBpbnRvIGEgc2luZ2xlIGRhdGEuZnJhbWUgY2FsbGVkIGBkZWNrNTJhZ2FpbmAuIFVzZSB0aGUgc2FtZSBjb2x1bW4gb3JkZXIgdGhhdCB5b3UgdXNlZCBpbiB0aGUgZmlyc3QgcGFydC4gTWFrZSB0aGUgY29sdW1uIG5hbWVzIHVwcGVyLWNhc2UgYW5kIGRpc3BsYXkgYGRlY2s1MmFnYWluYC4gIE1ha2Ugc3VyZSBpdCByZXByZXNlbnRzIGFuIGFjdHVhbCBkZWNrIG9mIGNhcmRzOyBjaGVjayB0aGUgcGljdHVyZSB0byBiZSBzdXJlLiAgDQoNCmBgYHtyfQ0KcmFuayA8LSBjKDE6MTMpDQpjb2xvciA8LSBjKCJyZWQiLCAiYmxhY2siKQ0KbmFtZSA8LSBjKCJhY2UiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIsICI5IiwgIjEwIiwgImphY2siLCAicXVlZW4iLCAia2luZyIpDQpzdWl0IDwtIGMoImhlYXJ0cyIsICJzcGFkZXMiLCAiZGlhbW9uZHMiLCAiY2x1YnMiKQ0KdmFsdWU8LSBjKDE6MTAsIDEwLCAxMCwgMTApDQoNClJBTksgPC0gcmVwKHJhbmssIGVhY2ggPSA0KQ0KDQpDT0xPUiA8LSByZXAoY29sb3IsIHRpbWVzID0gMjYpDQoNClNVSVQgPC0gcmVwKHN1aXQsIHRpbWVzID0gMTMpDQoNCk5BTUUgPC0gcmVwKG5hbWUsIGVhY2ggPSA0KQ0KDQpWQUxVRSA8LSByZXAodmFsdWUsIGVhY2ggPSA0KQ0KDQoNCmRlY2s1MmFnYWluIDwtIGRhdGEuZnJhbWUoQ09MT1IsIFNVSVQsIE5BTUUsIFJBTkssIFZBTFVFKQ0KDQpuYW1lcyhkZWNrNTJhZ2FpbikgPC0gdG91cHBlcihuYW1lcyhkZWNrNTJhZ2FpbikpDQoNCmRlY2s1MmFnYWluDQoNCmBgYA0KDQooQCkgKDEwIHBvaW50cykgVGhlIGBwYXN0ZSgpYCBmdW5jdGlvbiBpcyB1c2VmdWwgaGVyZS4gIE1ha2UgYSBuZXcgY29sdW1uIGNhbGxlZCAqKkxPTkdOQU1FKiogd2l0aCBlbnRyaWVzIGxpa2UgIjMgb2YgZGlhbW9uZHMiLCAiamFjayBvZiBjbHVicyIsIGV0Yy4gIEFkZCB0aGlzIGNvbHVtbiB0byBgZGVjazUyYWdhaW5gLiAgRm9yIGZ1bGwgY3JlZGl0IGJ1aWxkICoqTE9OR05BTUUqKiB3aXRoIGEgc2luZ2xlIGZ1bmN0aW9uIGNhbGwuICBEaXNwbGF5IGBkZWNrNTJhZ2FpbmAuIA0KDQpgYGB7cn0NCnJhbmsgPC0gYygxOjEzKQ0KY29sb3IgPC0gYygicmVkIiwgImJsYWNrIikNCm5hbWUgPC0gYygiYWNlIiwgIjIiLCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiLCAiOSIsICIxMCIsICJqYWNrIiwgInF1ZWVuIiwgImtpbmciKQ0Kc3VpdCA8LSBjKCJoZWFydHMiLCAic3BhZGVzIiwgImRpYW1vbmRzIiwgImNsdWJzIikNCnZhbHVlPC0gYygxOjEwLCAxMCwgMTAsIDEwKQ0KDQpSQU5LIDwtIHJlcChyYW5rLCBlYWNoID0gNCkNCg0KQ09MT1IgPC0gcmVwKHJlcChjb2xvciwgZWFjaCA9IDEzKSwgdGltZXMgPSAyKQ0KDQpTVUlUIDwtIHJlcChzdWl0LCBlYWNoID0gMTMpDQoNCk5BTUUgPC0gcmVwKG5hbWUsIGVhY2ggPSA0KQ0KDQpWQUxVRSA8LSByZXAodmFsdWUsIGVhY2ggPSA0KQ0KDQojI2xvbmdOYW1lIGNyZWF0aW9uDQoNCkxPTkdOQU1FIDwtIHBhc3RlKCBOQU1FLCBTVUlULCBzZXAgPSAiIG9mICIpDQoNCg0KZGVjazUyYWdhaW4gPC0gZGF0YS5mcmFtZShMT05HTkFNRSwgQ09MT1IsIFNVSVQsIE5BTUUsIFJBTkssIFZBTFVFKQ0KDQpuYW1lcyhkZWNrNTJhZ2FpbikgPC0gdG91cHBlcihuYW1lcyhkZWNrNTJhZ2FpbikpDQoNCmRlY2s1MmFnYWluDQoNCmBgYA0KDQogDQogDQog