How to use the length function in R for Vectors, Lists, and Strings Lengths of List or Vector Elements
Get the length in R of every element of a file or atomic vector (is.atomic) as an integer or numerical vector.
lengths(x, use.names = TRUE)
a list, list-like such as an interpretation or an atomic vector (for where the result is irrelevant).
logical implying if the result must inherit the labels from x.
This action loops over x and yields a compatible vector including the length of every element in x. Effectively, length(x[[i]]) is summoned for all i, so every method on length is considered.
lengths is universal: you may write methods to handle distinct classes of items, view InternalMethods.
A non-negative group of length length(x), only when any element has a breadth of greater than 2^31 – 1 elements, when it yields a double numeric vector. When use.names is true, the labels are grasped from the labels on x, if any.
One raison d’être of lengths(x) is its utilized as a more efficient version of implement(x, length) and identical *apply calls to length. This is the explanation why x might be an atomic section, despite lengths(x) being trivial in that case.
## compile by month
l : split(airquality$Ozone, airquality$Month)
avgOz : lapply(l, mean, na.rm=TRUE)
## merge result
airquality$avgOz : rep(unlist(avgOz, use.names=FALSE), lengths(l))
## however this is cleaner and safer, but may be slower
airquality$avgOz : unsplit(avgOz, airquality$Month)
## must always be true, only when a breadth does not match in 32 bits
stopifnot(identical(lengths(l), vapply(l, length, integer(1L))))
## empty lists are not an issue
x : list()
## nor are “list-like” expressions:
breadths(expression(u, v, 1+ 0:9))
## and we should dismiss to length process
f : c(rep(1, 3), rep(2, 6), 3)
dates : split(as.POSIXlt(Sys.time() + 1:10), f)
stopifnot(identical(lengths(dates), vapply(dates, length, integer(1L))))
The str length Action in Base R (3 Examples for String, List, & Vector)
Standard R Syntax:
The length action returns the breadth of R items such as strings, lists, or vectors. The R code prior illustrates how to apply breadth in R.
Example 1: Inspect Length of Vector in R
Prior to beginning, we need to design a vector or data science in R:
x : c(8, 17, 23, 93, – 20, 15, 13, 55, 29, – 84) # Case vector in R
Next, we may employ the shorter object length R order to this vector:
length(x) # Implement length action
The length action yields the amount 10 to the RStudio console – The breadth of our section is 10.
Example 2: Locate Length of List
As in the example prior, we have to design some example information first:
# Set seed for reproducibility
my_file : file() # Create empty file
my_file[] : c(5, 7, 1) # List element 1
my_file[] : rnorm(8, 5, 10) # List element 2
my_file[] : data.frame(x1 = 1:3, x2 = 4:6) # File element 3
my_file # Print file to R set
Our file subsist of three applicants: two numerical vectors at location 1 and 2 not to mention a data frame in location 3.
For such file items, you can implement the length R function in the exact manner as prior:
length(my_file) # Get length of file
Remember: The length function yields the amount of entries of the file, not the breadth of every set of the file. If you desire to get the breadth of a single file component, you can utilize the next R code:
breadth(my_list[]) # Acquire length of second file entry
The breadth of the second file element is 8.
Case 3: Get Length of String
Even if you have to use a small trick, breadth can likewise be implemented to a strand (i.e. a data item of the class aspect). Consider the next case strand:
x_string : “Greetings this is a string” # Design case strand
If you employ length as prior, you may probably not receive the result you desire:
length(x_string) # Standard application of breadth()
R yields 1 – the breadth of this data item and not the amount of characters inside the strand.
If you desire to count the amount of characters inside a strand, you have to utilize length in consolidation with the unlist and strsplit actions:
length(unfile(strsplit(x_string, “”))) # Combine strsplit, unfile, & breadth
Our strand subsist of 22 character amounts with no missing value
That mentioned, there is a lease complicated way to acquire the number of character amounts within a strand. You can simply utilize the nchar action:
nchar(x_string) # Apply nchar action in R
Much simpler, but the exact result!