data(iris)
class(iris)
## [1] "data.frame"
head(iris)
##   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1          5.1         3.5          1.4         0.2  setosa
## 2          4.9         3.0          1.4         0.2  setosa
## 3          4.7         3.2          1.3         0.2  setosa
## 4          4.6         3.1          1.5         0.2  setosa
## 5          5.0         3.6          1.4         0.2  setosa
## 6          5.4         3.9          1.7         0.4  setosa
dim(iris)
## [1] 150   5
# create a new column that stores logical values for sepal.width greater than half of sepal.length
newCol = iris$Sepal.Width > 0.5 * iris$Sepal.Length    # logical vector
length(newCol)
## [1] 150
new.iris <- cbind(iris, newCol)
dim(new.iris)
## [1] 150   6
tail(new.iris, 10)
##     Sepal.Length Sepal.Width Petal.Length Petal.Width   Species newCol
## 141          6.7         3.1          5.6         2.4 virginica  FALSE
## 142          6.9         3.1          5.1         2.3 virginica  FALSE
## 143          5.8         2.7          5.1         1.9 virginica  FALSE
## 144          6.8         3.2          5.9         2.3 virginica  FALSE
## 145          6.7         3.3          5.7         2.5 virginica  FALSE
## 146          6.7         3.0          5.2         2.3 virginica  FALSE
## 147          6.3         2.5          5.0         1.9 virginica  FALSE
## 148          6.5         3.0          5.2         2.0 virginica  FALSE
## 149          6.2         3.4          5.4         2.3 virginica   TRUE
## 150          5.9         3.0          5.1         1.8 virginica   TRUE