
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)
- (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
- (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
- (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