- Create a list using R with the following values g1=1:10, g2=“R
Programming”, g3= “HTML”. Then, count the number of objects in the list.
After that, get the length of the first two vectors of the given
list.
list_data<-list(1:10,"R Programming","HTML")
names(list_data)<-c("g1","g2","g3")
length(list_data)
[1] 3
length(list_data$g1)
[1] 10
length(list_data$g2)
[1] 1
- Find all elements of a list1 that are not given in list2 using R.
Given list1 consists of “x”, “y”, “z” and list2 consists of “x”, “y”,
“z”, “X”, “Y”, “Z”. (You can use the setdiff())
list1<-list("x","y","z")
list2<-list("x","y","z","X","Y","Z")
union(setdiff(list1,list2),setdiff(list2,list1))
[[1]]
[1] "X"
[[2]]
[1] "Y"
[[3]]
[1] "Z"
- Create a list using the following values (“G022”, “G003”, “G013”,
“G007”, “G012” and then list down the number of items in the list. Then,
display the second element in the list. After that, add a new item
“G018”to the list and then display the list in ascending order.
list_data=list("G022", "G003", "G013", "G007", "G012")
length(list_data)
[1] 5
list_data[[2]]
[1] "G003"
list_data[[length(list_data)+1]]<-"G018"
list(sort(unlist(list_data)))
[[1]]
[1] "G003" "G007" "G012" "G013" "G018" "G022"
- Create four vectors a, b, c, and d with 3 integers. Combine all the
vectors to become a 4x3 matrix. Add a vector with sequence of number
from 1 to 4 to the matrix by row.
a<-sample(1:10,3)
b<-sample(1:10,3)
c<-sample(1:10,3)
d<-sample(1:10,3)
m<-matrix(c(a,b,c,d),nrow = 4,ncol = 3)
m<-cbind(m,1:4)
m
[,1] [,2] [,3] [,4]
[1,] 4 6 5 1
[2,] 10 1 9 2
[3,] 9 2 2 3
[4,] 9 10 5 4
- A and B is a 3x4 matrix. Create an R Script to multiply matrix A and
B to get the 3x3 dimension.
A<-matrix(sample(1:20,12),3,4)
B<-matrix(sample(1:20,12),3,4)
A%*% t(B)
[,1] [,2] [,3]
[1,] 372 204 344
[2,] 698 502 444
[3,] 492 288 296
- Create a matrix with 10 rows and 2 columns, extract a sub-matrix
from original matrix which includes the last 5 rows.
mat<-matrix(sample(1:20,20),10,2)
mat
[,1] [,2]
[1,] 11 15
[2,] 7 17
[3,] 6 19
[4,] 13 8
[5,] 3 12
[6,] 1 2
[7,] 20 14
[8,] 10 9
[9,] 4 18
[10,] 5 16
mat[-5:-1,]
[,1] [,2]
[1,] 1 2
[2,] 20 14
[3,] 10 9
[4,] 4 18
[5,] 5 16
- A square matrix A is said to be invertible if there exists a matrix
B such that AB = BA = I. Generate a 2x2 matrix A as below. Then, compute
B.
mat<-matrix(c(2,4,2,2),2,2)
mat[2,2]
[1] 2
-mat[2,1]
[1] -4
-mat[1,2]
[1] -2
mat[1,1]
[1] 2
B=1/(2*2-2*4)*matrix(c(mat[2,2],-mat[2,1],-mat[1,2],mat[1,1]),2,2)
B
[,1] [,2]
[1,] -0.5 0.5
[2,] 1.0 -0.5
- With regards to the mtcars dataset: retrieve the number of columns
retrieve the number of rows retrieve data value from row 3 and column 5
retrieve data value from row 3 and column 5 using the names retrieve
data of a row (Volvo 142E) retrieve data of column mpg retrieve data of
column hp and qsec
library(datasets)
ncol(mtcars)
[1] 11
nrow(mtcars)
[1] 32
mtcars[3,5]
[1] 3.85
mtcars["Datsun 710","drat"]
[1] 3.85
mtcars["Volvo 142E",]
mtcars[,"mpg"]
[1] 21.0 21.0 22.8 21.4 18.7 18.1 14.3 24.4
[9] 22.8 19.2 17.8 16.4 17.3 15.2 10.4 10.4
[17] 14.7 32.4 30.4 33.9 21.5 15.5 15.2 13.3
[25] 19.2 27.3 26.0 30.4 15.8 19.7 15.0 21.4
mtcars[,c("hp","qsec")]
- Create a DataFrame using the following data. SK020 is the
ProductCode, Enfagrow A+ is the ProductName and 36.79 is the Price.
Then, solve the following statements Display the information above in a
table. Display the information above in a table sort by product name in
ascending order. Add a new product SK023, Johnson PH, 5.99 to the data
frame and display the information in a table sort by product name in
ascending order. Display all rows where product price more than 8.00.
Display the product with maximum price and minimum price. Count the
number of items where the product name begins with “A”
df<-data.frame(
productCode=c("SK020","SK042","SK013","SK066","SK079"),
productName=c("Enfagrow A+","Ayamas Nuget Crispy","100 Plus","Ali Cafe","Dettol Natural"),
price=c(36.79,9.99,6.49,8.99,4.99)
)
print(df)
df[order(df$productName),]
df2<-data.frame(
productCode=c("SK023"),
productName=c("Johnson PH"),
price=c(5.99)
)
df<- rbind(df,df2)
df[order(df$productName),]
df[which(df$price>8),]
df[which(df$price==max(df$price)),]$productName
[1] "Enfagrow A+"
df[which(df$price==min(df$price)),]$productName
[1] "Dettol Natural"
nrow(df[which(startsWith(df$productName,"A")),])
[1] 2
LS0tDQp0aXRsZTogIkxhYiAzIg0Kb3V0cHV0OiBodG1sX25vdGVib29rDQotLS0NCg0KMS4gQ3JlYXRlIGEgbGlzdCB1c2luZyBSIHdpdGggdGhlIGZvbGxvd2luZyB2YWx1ZXMgZzE9MToxMCwgZzI9IlIgUHJvZ3JhbW1pbmciLCBnMz0NCiJIVE1MIi4gVGhlbiwgY291bnQgdGhlIG51bWJlciBvZiBvYmplY3RzIGluIHRoZSBsaXN0LiBBZnRlciB0aGF0LCBnZXQgdGhlIGxlbmd0aCBvZiANCnRoZSBmaXJzdCB0d28gdmVjdG9ycyBvZiB0aGUgZ2l2ZW4gbGlzdC4NCg0KYGBge3J9DQpsaXN0X2RhdGE8LWxpc3QoMToxMCwiUiBQcm9ncmFtbWluZyIsIkhUTUwiKQ0KbmFtZXMobGlzdF9kYXRhKTwtYygiZzEiLCJnMiIsImczIikNCmxlbmd0aChsaXN0X2RhdGEpDQpsZW5ndGgobGlzdF9kYXRhJGcxKQ0KbGVuZ3RoKGxpc3RfZGF0YSRnMikNCmBgYA0KDQoNCjIuIEZpbmQgYWxsIGVsZW1lbnRzIG9mIGEgbGlzdDEgdGhhdCBhcmUgbm90IGdpdmVuIGluIGxpc3QyIHVzaW5nIFIuIEdpdmVuIGxpc3QxIGNvbnNpc3RzIG9mIA0KIngiLCAieSIsICJ6IiBhbmQgbGlzdDIgY29uc2lzdHMgb2YgIngiLCAieSIsICJ6IiwgIlgiLCAiWSIsICJaIi4gKFlvdSBjYW4gdXNlIHRoZSANCnNldGRpZmYoKSkNCmBgYHtyfQ0KbGlzdDE8LWxpc3QoIngiLCJ5IiwieiIpDQpsaXN0MjwtbGlzdCgieCIsInkiLCJ6IiwiWCIsIlkiLCJaIikNCnVuaW9uKHNldGRpZmYobGlzdDEsbGlzdDIpLHNldGRpZmYobGlzdDIsbGlzdDEpKQ0KYGBgDQoNCjMuIENyZWF0ZSBhIGxpc3QgdXNpbmcgdGhlIGZvbGxvd2luZyB2YWx1ZXMgKCJHMDIyIiwgIkcwMDMiLCAiRzAxMyIsICJHMDA3IiwgIkcwMTIiDQphbmQgdGhlbiBsaXN0IGRvd24gdGhlIG51bWJlciBvZiBpdGVtcyBpbiB0aGUgbGlzdC4gVGhlbiwgZGlzcGxheSB0aGUgc2Vjb25kIGVsZW1lbnQgaW4gDQp0aGUgbGlzdC4gQWZ0ZXIgdGhhdCwgYWRkIGEgbmV3IGl0ZW0gIkcwMTgidG8gdGhlIGxpc3QgYW5kIHRoZW4gZGlzcGxheSB0aGUgbGlzdCBpbiANCmFzY2VuZGluZyBvcmRlci4NCmBgYHtyfQ0KbGlzdF9kYXRhPWxpc3QoIkcwMjIiLCAiRzAwMyIsICJHMDEzIiwgIkcwMDciLCAiRzAxMiIpDQpsZW5ndGgobGlzdF9kYXRhKQ0KbGlzdF9kYXRhW1syXV0NCmxpc3RfZGF0YVtbbGVuZ3RoKGxpc3RfZGF0YSkrMV1dPC0iRzAxOCINCmxpc3Qoc29ydCh1bmxpc3QobGlzdF9kYXRhKSkpDQpgYGANCg0KNC4gQ3JlYXRlIGZvdXIgdmVjdG9ycyBhLCBiLCBjLCBhbmQgZCB3aXRoIDMgaW50ZWdlcnMuIENvbWJpbmUgYWxsIHRoZSB2ZWN0b3JzIHRvIGJlY29tZSBhIA0KNHgzIG1hdHJpeC4gQWRkIGEgdmVjdG9yIHdpdGggc2VxdWVuY2Ugb2YgbnVtYmVyIGZyb20gMSB0byA0IHRvIHRoZSBtYXRyaXggYnkgcm93Lg0KYGBge3J9DQphPC1zYW1wbGUoMToxMCwzKQ0KYjwtc2FtcGxlKDE6MTAsMykNCmM8LXNhbXBsZSgxOjEwLDMpDQpkPC1zYW1wbGUoMToxMCwzKQ0KbTwtbWF0cml4KGMoYSxiLGMsZCksbnJvdyA9IDQsbmNvbCA9IDMpDQptPC1jYmluZChtLDE6NCkNCm0NCmBgYA0KDQo1LiBBIGFuZCBCIGlzIGEgM3g0IG1hdHJpeC4gQ3JlYXRlIGFuIFIgU2NyaXB0IHRvIG11bHRpcGx5IG1hdHJpeCBBIGFuZCBCIHRvIGdldCB0aGUgM3gzIA0KZGltZW5zaW9uLg0KYGBge3J9DQpBPC1tYXRyaXgoc2FtcGxlKDE6MjAsMTIpLDMsNCkNCkI8LW1hdHJpeChzYW1wbGUoMToyMCwxMiksMyw0KQ0KQSUqJSB0KEIpDQpgYGANCg0KNi4gQ3JlYXRlIGEgbWF0cml4IHdpdGggMTAgcm93cyBhbmQgMiBjb2x1bW5zLCBleHRyYWN0IGEgc3ViLW1hdHJpeCBmcm9tIG9yaWdpbmFsIA0KbWF0cml4IHdoaWNoIGluY2x1ZGVzIHRoZSBsYXN0IDUgcm93cy4NCmBgYHtyfQ0KbWF0PC1tYXRyaXgoc2FtcGxlKDE6MjAsMjApLDEwLDIpDQptYXRbLTU6LTEsXQ0KYGBgDQoNCjcuIEEgc3F1YXJlIG1hdHJpeCBBIGlzIHNhaWQgdG8gYmUgaW52ZXJ0aWJsZSBpZiB0aGVyZSBleGlzdHMgYSBtYXRyaXggQiBzdWNoIHRoYXQgQUIgPSANCkJBID0gSS4gR2VuZXJhdGUgYSAyeDIgbWF0cml4IEEgYXMgYmVsb3cuIFRoZW4sIGNvbXB1dGUgQi4NCmBgYHtyfQ0KbWF0PC1tYXRyaXgoYygyLDQsMiwyKSwyLDIpDQptYXRbMiwyXQ0KLW1hdFsyLDFdDQotbWF0WzEsMl0NCm1hdFsxLDFdDQpCPTEvKDIqMi0yKjQpKm1hdHJpeChjKG1hdFsyLDJdLC1tYXRbMiwxXSwtbWF0WzEsMl0sbWF0WzEsMV0pLDIsMikNCkINCmBgYA0KDQo4LiBXaXRoIHJlZ2FyZHMgdG8gdGhlIG10Y2FycyBkYXRhc2V0Og0KcmV0cmlldmUgdGhlIG51bWJlciBvZiBjb2x1bW5zDQpyZXRyaWV2ZSB0aGUgbnVtYmVyIG9mIHJvd3MNCnJldHJpZXZlIGRhdGEgdmFsdWUgZnJvbSByb3cgMyBhbmQgY29sdW1uIDUNCnJldHJpZXZlIGRhdGEgdmFsdWUgZnJvbSByb3cgMyBhbmQgY29sdW1uIDUgdXNpbmcgdGhlIG5hbWVzDQpyZXRyaWV2ZSBkYXRhIG9mIGEgcm93IChWb2x2byAxNDJFKQ0KcmV0cmlldmUgZGF0YSBvZiBjb2x1bW4gbXBnDQpyZXRyaWV2ZSBkYXRhIG9mIGNvbHVtbiBocCBhbmQgcXNlYw0KYGBge3J9DQpsaWJyYXJ5KGRhdGFzZXRzKQ0KbmNvbChtdGNhcnMpDQpucm93KG10Y2FycykNCm10Y2Fyc1szLDVdDQptdGNhcnNbIkRhdHN1biA3MTAiLCJkcmF0Il0NCm10Y2Fyc1siVm9sdm8gMTQyRSIsXQ0KbXRjYXJzWywibXBnIl0NCm10Y2Fyc1ssYygiaHAiLCJxc2VjIildDQpgYGANCg0KOS4gQ3JlYXRlIGEgRGF0YUZyYW1lIHVzaW5nIHRoZSBmb2xsb3dpbmcgZGF0YS4gU0swMjAgaXMgdGhlIFByb2R1Y3RDb2RlLCBFbmZhZ3JvdyBBKyBpcyB0aGUgUHJvZHVjdE5hbWUgYW5kIDM2Ljc5IGlzIHRoZSBQcmljZS4gVGhlbiwgc29sdmUgdGhlIGZvbGxvd2luZyBzdGF0ZW1lbnRzDQpEaXNwbGF5IHRoZSBpbmZvcm1hdGlvbiBhYm92ZSBpbiBhIHRhYmxlLg0KRGlzcGxheSB0aGUgaW5mb3JtYXRpb24gYWJvdmUgaW4gYSB0YWJsZSBzb3J0IGJ5IHByb2R1Y3QgbmFtZSBpbiBhc2NlbmRpbmcgb3JkZXIuDQpBZGQgYSBuZXcgcHJvZHVjdCBTSzAyMywgSm9obnNvbiBQSCwgNS45OSB0byB0aGUgZGF0YSBmcmFtZSBhbmQgZGlzcGxheSB0aGUgaW5mb3JtYXRpb24gaW4gYSB0YWJsZSBzb3J0IGJ5IHByb2R1Y3QgbmFtZSBpbiBhc2NlbmRpbmcgb3JkZXIuDQpEaXNwbGF5IGFsbCByb3dzIHdoZXJlIHByb2R1Y3QgcHJpY2UgbW9yZSB0aGFuIDguMDAuDQpEaXNwbGF5IHRoZSBwcm9kdWN0IHdpdGggbWF4aW11bSBwcmljZSBhbmQgbWluaW11bSBwcmljZS4NCkNvdW50IHRoZSBudW1iZXIgb2YgaXRlbXMgd2hlcmUgdGhlIHByb2R1Y3QgbmFtZSBiZWdpbnMgd2l0aCAiQSINCmBgYHtyfQ0KZGY8LWRhdGEuZnJhbWUoDQogIHByb2R1Y3RDb2RlPWMoIlNLMDIwIiwiU0swNDIiLCJTSzAxMyIsIlNLMDY2IiwiU0swNzkiKSwNCiAgcHJvZHVjdE5hbWU9YygiRW5mYWdyb3cgQSsiLCJBeWFtYXMgTnVnZXQgQ3Jpc3B5IiwiMTAwIFBsdXMiLCJBbGkgQ2FmZSIsIkRldHRvbCBOYXR1cmFsIiksDQogIHByaWNlPWMoMzYuNzksOS45OSw2LjQ5LDguOTksNC45OSkNCikNCnByaW50KGRmKQ0KZGZbb3JkZXIoZGYkcHJvZHVjdE5hbWUpLF0NCmRmMjwtZGF0YS5mcmFtZSgNCiAgcHJvZHVjdENvZGU9YygiU0swMjMiKSwNCiAgcHJvZHVjdE5hbWU9YygiSm9obnNvbiBQSCIpLA0KICBwcmljZT1jKDUuOTkpDQopDQpkZjwtIHJiaW5kKGRmLGRmMikNCmRmW29yZGVyKGRmJHByb2R1Y3ROYW1lKSxdDQpkZlt3aGljaChkZiRwcmljZT44KSxdDQpkZlt3aGljaChkZiRwcmljZT09bWF4KGRmJHByaWNlKSksXSRwcm9kdWN0TmFtZQ0KZGZbd2hpY2goZGYkcHJpY2U9PW1pbihkZiRwcmljZSkpLF0kcHJvZHVjdE5hbWUNCm5yb3coZGZbd2hpY2goc3RhcnRzV2l0aChkZiRwcm9kdWN0TmFtZSwiQSIpKSxdKQ0KYGBgDQo=