summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAkshat Gadhwal <akshatgadhwal1@gmail.com>2020-10-06 20:16:49 +0530
committerDavid Peter <sharkdp@users.noreply.github.com>2020-10-09 23:18:53 +0200
commite7a3f34959f9c20344c44469581488784d3153b3 (patch)
tree5fc7326d174a711089ad20f544c370f9b015157b /tests
parent06d0c8f0565f8ad9bd4d78df1a33500e1178abf4 (diff)
ADDED test file for R
Diffstat (limited to 'tests')
-rw-r--r--tests/syntax-tests/highlighted/R/test.r170
-rw-r--r--tests/syntax-tests/source/R/test.r170
2 files changed, 340 insertions, 0 deletions
diff --git a/tests/syntax-tests/highlighted/R/test.r b/tests/syntax-tests/highlighted/R/test.r
new file mode 100644
index 00000000..16209b47
--- /dev/null
+++ b/tests/syntax-tests/highlighted/R/test.r
@@ -0,0 +1,170 @@
+# take input from the user
+num = as.integer(readline(prompt="Enter a number: "))
+factorial = 1
+# check is the number is negative, positive or zero
+if(num < 0) {
+print("Sorry, factorial does not exist for negative numbers")
+} else if(num == 0) {
+print("The factorial of 0 is 1")
+} else {
+for(i in 1:num) {
+factorial = factorial * i
+}
+print(paste("The factorial of", num ,"is",factorial))
+}
+
+x <- 0
+if (x < 0) {
+print("Negative number")
+} else if (x > 0) {
+print("Positive number")
+} else
+print("Zero")
+
+x <- 1:5
+for (val in x) {
+if (val == 3){
+next
+}
+print(val)
+}
+
+x <- 1
+repeat {
+print(x)
+x = x+1
+if (x == 6){
+break
+}
+}
+
+`%divisible%` <- function(x,y)
+{
+if (x%%y ==0) return (TRUE)
+else return (FALSE)
+}
+
+switch("length", "color" = "red", "shape" = "square", "length" = 5)
+[1] 5
+
+recursive.factorial <- function(x) {
+if (x == 0) return (1)
+else return (x * recursive.factorial(x-1))
+}
+
+pow <- function(x, y) {
+# function to print x raised to the power y
+result <- x^y
+print(paste(x,"raised to the power", y, "is", result))
+}
+
+A <- read.table("x.data", sep=",",
+ col.names=c("year", "my1", "my2"))
+nrow(A) # Count the rows in A
+
+summary(A$year) 
+
+A$newcol <- A$my1 + A$my2 # Makes a new
+newvar <- A$my1 - A$my2 # Makes a 
+A$my1 <- NULL # Removes 
+str(A)
+summary(A)
+library(Hmisc) 
+contents(A)
+describe(A)
+
+set.seed(102) # This yields a good illustration.
+x <- sample(1:3, 15, replace=TRUE)
+education <- factor(x, labels=c("None", "School", "College"))
+x <- sample(1:2, 15, replace=TRUE)
+gender <- factor(x, labels=c("Male", "Female"))
+age <- runif(15, min=20,max=60)
+
+D <- data.frame(age, gender, education)
+rm(x,age,gender,education)
+print(D)
+
+# Table about education
+table(D$education)
+
+# Table about education and gender --
+table(D$gender, D$education)
+# Joint distribution of education and gender --
+table(D$gender, D$education)/nrow(D)
+
+# Add in the marginal distributions also
+addmargins(table(D$gender, D$education))
+addmargins(table(D$gender, D$education))/nrow(D)
+
+# Generate a good LaTeX table out of it --
+library(xtable)
+xtable(addmargins(table(D$gender, D$education))/nrow(D),
+ digits=c(0,2,2,2,2)) 
+
+by(D$age, D$gender, mean)
+by(D$age, D$gender, sd)
+by(D$age, D$gender, summary)
+
+a <- matrix(by(D$age, list(D$gender, D$education), mean), nrow=2)
+rownames(a) <- levels(D$gender)
+colnames(a) <- levels(D$education)
+print(a)
+print(xtable(a))
+
+dat <- read.csv(file = "files/dataset-2013-01.csv", header = TRUE)
+interim_object <- data.frame(rep(1:100, 10),
+ rep(101:200, 10),
+ rep(201:300, 10))
+object.size(interim_object) 
+rm("interim_object") 
+ls() 
+rm(list = ls())
+
+vector1 <- c(5,9,3)
+vector2 <- c(10,11,12,13,14,15)
+array1 <- array(c(vector1,vector2),dim = c(3,3,2))
+vector3 <- c(9,1,0)
+vector4 <- c(6,0,11,3,14,1,2,6,9)
+array2 <- array(c(vector1,vector2),dim = c(3,3,2))
+matrix1 <- array1[,,2]
+matrix2 <- array2[,,2]
+result <- matrix1+matrix2
+print(result)
+
+column.names <- c("COL1","COL2","COL3")
+row.names <- c("ROW1","ROW2","ROW3")
+matrix.names <- c("Matrix1","Matrix2")
+result <- array(c(vector1,vector2),dim = c(3,3,2),dimnames = list(row.names,
+ column.names, matrix.names))
+print(result[3,,2])
+print(result[1,3,1])
+print(result[,,2])
+
+# Load the package required to read JSON files.
+library("rjson")
+result <- fromJSON(file = "input.json")
+print(result)
+
+x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
+y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)
+relation <- lm(y~x)
+print(relation)
+
+relation <- lm(y~x)
+png(file = "linearregression.png")
+plot(y,x,col = "blue",main = "Height & Weight Regression",
+abline(lm(x~y)),cex = 1.3,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm")
+dev.off()
+
+data <- c("East","West","East","North","North","East","West","West","West","East","North")
+print(data)
+print(is.factor(data))
+factor_data <- factor(data)
+print(factor_data)
+print(is.factor(factor_data))
+
+v <- c(7,12,28,3,41)
+
+# Give the chart file a name.
+png(file = "line_chart_label_colored.jpg")
+plot(v,type = "o", col = "red", xlab = "Month", ylab = "Rain fall", main = "Rain fall chart")
diff --git a/tests/syntax-tests/source/R/test.r b/tests/syntax-tests/source/R/test.r
new file mode 100644
index 00000000..2d67992b
--- /dev/null
+++ b/tests/syntax-tests/source/R/test.r
@@ -0,0 +1,170 @@
+# take input from the user
+num = as.integer(readline(prompt="Enter a number: "))
+factorial = 1
+# check is the number is negative, positive or zero
+if(num < 0) {
+print("Sorry, factorial does not exist for negative numbers")
+} else if(num == 0) {
+print("The factorial of 0 is 1")
+} else {
+for(i in 1:num) {
+factorial = factorial * i
+}
+print(paste("The factorial of", num ,"is",factorial))
+}
+
+x <- 0
+if (x < 0) {
+print("Negative number")
+} else if (x > 0) {
+print("Positive number")
+} else
+print("Zero")
+
+x <- 1:5
+for (val in x) {
+if (val == 3){
+next
+}
+print(val)
+}
+
+x <- 1
+repeat {
+print(x)
+x = x+1
+if (x == 6){
+break
+}
+}
+
+`%divisible%` <- function(x,y)
+{
+if (x%%y ==0) return (TRUE)
+else return (FALSE)
+}
+
+switch("length", "color" = "red", "shape" = "square", "length" = 5)
+[1] 5
+
+recursive.factorial <- function(x) {
+if (x == 0) return (1)
+else return (x * recursive.factorial(x-1))
+}
+
+pow <- function(x, y) {
+# function to print x raised to the power y
+result <- x^y
+print(paste(x,"raised to the power", y, "is", result))
+}
+
+A <- read.table("x.data", sep=",",
+ col.names=c("year", "my1", "my2"))
+nrow(A) # Count the rows in A
+
+summary(A$year)
+
+A$newcol <- A$my1 + A$my2 # Makes a new
+newvar <- A$my1 - A$my2 # Makes a
+A$my1 <- NULL # Removes
+str(A)
+summary(A)
+library(Hmisc)
+contents(A)
+describe(A)
+
+set.seed(102) # This yields a good illustration.
+x <- sample(1:3, 15, replace=TRUE)
+education <- factor(x, labels=c("None", "School", "College"))
+x <- sample(1:2, 15, replace=TRUE)
+gender <- factor(x, labels=c("Male", "Female"))
+age <- runif(15, min=20,max=60)
+
+D <- data.frame(age, gender, education)
+rm(x,age,gender,education)
+print(D)
+
+# Table about education
+table(D$education)
+
+# Table about education and gender --
+table(D$gender, D$education)
+# Joint distribution of education and gender --
+table(D$gender, D$education)/nrow(D)
+
+# Add in the marginal distributions also
+addmargins(table(D$gender, D$education))
+addmargins(table(D$gender, D$education))/nrow(D)
+
+# Generate a good LaTeX table out of it --
+library(xtable)
+xtable(addmargins(table(D$gender, D$education))/nrow(D),
+ digits=c(0,2,2,2,2))
+
+by(D$age, D$gender, mean)
+by(D$age, D$gender, sd)
+by(D$age, D$gender, summary)
+
+a <- matrix(by(D$age, list(D$gender, D$education), mean), nrow=2)
+rownames(a) <- levels(D$gender)
+colnames(a) <- levels(D$education)
+print(a)
+print(xtable(a))
+
+dat <- read.csv(file = "files/dataset-2013-01.csv", header = TRUE)
+interim_object <- data.frame(rep(1:100, 10),
+ rep(101:200, 10),
+ rep(201:300, 10))
+object.size(interim_object)
+rm("interim_object")
+ls()
+rm(list = ls())
+
+vector1 <- c(5,9,3)
+vector2 <- c(10,11,12,13,14,15)
+array1 <- array(c(vector1,vector2),dim = c(3,3,2))
+vector3 <- c(9,1,0)
+vector4 <- c(6,0,11,3,14,1,2,6,9)
+array2 <- array(c(vector1,vector2),dim = c(3,3,2))
+matrix1 <- array1[,,2]
+matrix2 <- array2[,,2]
+result <- matrix1+matrix2
+print(result)
+
+column.names <- c("COL1","COL2","COL3")
+row.names <- c("ROW1","ROW2","ROW3")
+matrix.names <- c("Matrix1","Matrix2")
+result <- array(c(vector1,vector2),dim = c(3,3,2),dimnames = list(row.names,
+ column.names, matrix.names))
+print(result[3,,2])
+print(result[1,3,1])
+print(result[,,2])
+
+# Load the package required to read JSON files.
+library("rjson")
+result <- fromJSON(file = "input.json")
+print(result)
+
+x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
+y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)
+relation <- lm(y~x)
+print(relation)
+
+relation <- lm(y~x)
+png(file = "linearregression.png")
+plot(y,x,col = "blue",main = "Height & Weight Regression",
+abline(lm(x~y)),cex = 1.3,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm")
+dev.off()
+
+data <- c("East","West","East","North","North","East","West","West","West","East","North")
+print(data)
+print(is.factor(data))
+factor_data <- factor(data)
+print(factor_data)
+print(is.factor(factor_data))
+
+v <- c(7,12,28,3,41)
+
+# Give the chart file a name.
+png(file = "line_chart_label_colored.jpg")
+plot(v,type = "o", col = "red", xlab = "Month", ylab = "Rain fall", main = "Rain fall chart")