Something I should have covered in part 1
Logical Operators in R: & and |
Lists in R
A list in R, much like a Python list, allows you to gather a variety of objects under one name (that is, the name of the list) in an ordered way. These objects can be matrices, vectors, data frames, even other lists, etc. To construct a list simply wrap list():
list(var1, var2, var3)
Naming the elements of a list
my_list = list(VECTOR=my_vector,MATRIX=my_matrix,DATAFRAME=my_df)
Now VECTOR, MATRIX and DATAFRAME are names of the first, second and third elements of the list.
Indexing in Lists
[[ ]] is used instead of [ ], for example mylist[[3]] gives third element of the list mylist.
To append an element to a list use c(): mylist = c (mylist, newelement)
Reading data from web
Use the read.table() function to read data from a url and then assign it to a dataset present:
present = read.table("http://s3.amazonaws.com/assets.datacamp.com/course/dasi/present.txt")
If the table is already in the form of an R dataset, then just load it using:
A dataframe called cdc is now in your R workspace.
Plotting
To plot frequency tables use barplot(). This frequency chart function is suitable for categorical variable, after it has been converted to a frequency table by using table(categoricalVarVectorname) or summary(factor(categoricalVarVectorname)).
To plot frequency chart for continuous variables, use histogram (it buckets into ranges, and then draws bars for each range): hist(vectorname, breaks=50)
To plot xy plane use plot(x,y)
The table() command is used to create a frequency table for a categorical variable. We can also input more than one categorical variables as input arguments to the table() command. It can give you, for instance, a frequency distribution in 2 variables, such as this:
nonsmoker smoker
excellent 2879 1778
very good 3758 3214
good 2782 2893
fair 911 1108
poor 229 448
excellent 2879 1778
very good 3758 3214
good 2782 2893
fair 911 1108
poor 229 448
mosaicplot() is a good plot to display this data
boxplot() can be used on a vector to get graph showing the various quartiles.A table of values of the various quartiles can be generated by using summary() on the vector.
Another good use is boxplot(aContinuousVarOfDataset ~ aCategoricalVarOfDataset)
This shows a graph of quartiles of continuous var for each value of categorical variable.
Here the continuous var vector can be an existing continuous variable of dataset, of course, but also a constructed vector from various continuous variables of the dataset.