## Sunday, 23 July 2017

### R Data Types - Vectors, Matrices, Lists, Factors, Data Frames

Like other programming languages, R supports many different data types. You must have seen that variables are used to store data in a program and a data type is assigned to a variable and that variable can hold only that type of data. In this post, we'll learn about R data types and R objects. Basic data types in R programming are Numeric, Integer, Character, Logical and Complex and other than this R has some unique data types that are called R Objects.

## Vectors in R

A Vector is basically a set of values of the same basic data type like numeric character etc. A vector in R is created using the c() function that represents a combination of elements. See this example
```# A Numeric Vector
numeric_vector <- c(10, 20, 30)

# A Character Vector
character_vector <- c("a", "b", "c")

# A Boolean Vector
boolean_vector <-c(TRUE,FALSE,TRUE)
```
The output on R Console is

## Matrices in R

R supports Matrices and a Matrix is a collection of data values in 2 dimensions of the same basic data type, R creates a matrix of values using a matrix() function. See this example Here c(1,2,3,4,5,6,7,8,9) is a numeric vector nrow is the number of rows in the matrix ncol is the number of columns in the matrix
```#Create a matrix using Vector
test_matrix<-matrix(c(1,2,3,4,5,6,7,8,9), nrow=3, ncol=3)
#Print matrix on console
print(test_matrix)```
The output on R Console is

## Arrays in R

Arrays are the same as any other programming language and in R array is same as a matrix but it can have more than two dimensions. Array in R is created using array() function and uses a vector as input and dim value to create arrays. Here dim =c(2,2,4) means that 4 arrays will be created of 2x2.
```#We have two vectors here
v1 <- c(1,2,3,7,8,9)
v2 <- c(4,5,6,10,11,12,13,14,15,16)

#Create array using vectors
test_array <- array(c(v1,v2),dim = c(2,2,4))

#print the array on the console
print(test_array)```
The output on R Console is

## Lists in R

A List is a set of values that can have the different basic data type, In R List is created using list() function.
```#A list with different data types
#Declare a numeric vector
numeric_vector<-c(1,2,3)

#Create list
test_list<- list("Ashish Awasthi", numeric_vector, 5.3)

#Print list
print(test_list)
```
The output on R Console

## Factors in R

Factors are created using vectors as base and stores unique values as levels, In R Factor object is created using factor() function.
```# Create a vector with duplicate values
emp_names <- c('James','Ram','James','Ashish','Ram','Ashish','James','Ram')

# Create a factor object using vector
factor_emp <- factor(emp_names)

# Print the factor object
print(factor_emp)
```
The output on R Console is

## Data Frames in R

Data Frame is used for storing data in tables, and this tabular data can have multiple types of vectors like numeric, characters etc. Data Frame can be created using data.frame() function.
```#A Character Vector
string_vector <-c("Ashish", "Awasthi","R")

#A Numeric Vector
numeric_vector <- c(10, 20, 30.5)

#A Boolean Vector
boolean_vector<- c(TRUE, FALSE, TRUE)

# Create the data frame using all 3 vectors
test_df <- 	data.frame(string_vector,numeric_vector,boolean_vector)

#Print result
print(test_df)```
The output on R Console

Though this post gives an idea of using variables, In the next post, we'll learn more about using variables in R programming.

Cheers :) Happy Learning

## Monday, 17 July 2017

### Reinitialise taskFlow in dynamic region and set focus to default activity

Hello All

We all use bounded task flows in ADF application development and to switch between multiple task flows we use concept of dynamic region

Recently I came across a problem about dynamic region and bounded task flows, Scenario is like this

I have dropped a BTF in dynamic region and there is a link on page to open that task flow and those who have used dynamic region would be familiar with this piece of code