1. 字符串
连接字符串 - paste()函数
对于粘贴功能的基本语法是 -
paste(..., sep = " ", collapse = NULL)
以下是所使用的参数的说明 -
-- ...表示要组合的任意数量的自变量。
-- sep表示参数之间的任何分隔符。它是可选的。
-- collapse用于消除两个字符串之间的空格。 但不是一个字符串的两个字内的空间。
示例:
# 连接字符串 - paste()函数a <- "Hello"b <- 'How'c <- "are you? "print(paste(a,b,c))print(paste(a,b,c, sep = "-"))print(paste(a,b,c, sep = "", collapse = ""))
打印结果:
图1.png
格式化数字和字符串 - format()函数
格式化函数的基本语法是 -
format(x, digits, nsmall, scientific, width, justify = c("left", "right", "centre", "none"))
以下是所使用的参数的描述 -
-- x是向量输入。
-- digits是显示的总位数。
-- nsmall是小数点右边的最小位数。
-- scientific科学设置为TRUE以显示科学记数法。
-- width指示通过在开始处填充空白来显示的最小宽度。
-- justify是字符串向左,右或中心的显示。
示例:
# 格式化函数 - format()函数# 显示总位数result <- format(23.123456789, digits = 9)print(result)# 科学计数法显示result <- format(c(6, 13.14521), scientific = TRUE)print(result)# 小数右边最小位数result <- format(23.47, nsmall = 5)print(result)# 格式化为一个字符串result <- format(6)print(result)# 设置数据宽度result <- format(13.7, width = 6)print(result)# 设置对齐方式-左对齐result <- format("Hello", width = 8, justify = "l")print(result)# 设置对齐方式-居中result <- format("Hello", width = 8, justify = "c")print(result)
打印结果:
图2.png
字符串中的字符数 - nchar()函数
nchar()函数的基本语法是 -
nchar(x)
以下是所使用的参数的描述 -
-- x是向量输入。
示例:
# 计算字符数-nchar()result <- nchar("Count the number of characters.")print(result)
打印结果:
图3.png
更改大小写 - toupper()和tolower()函数
toupper()和tolower()函数的基本语法是 -
toupper(x)tolower(x)
以下是所使用的参数的描述 -
-- x是向量输入。
示例:
# 更改大小写# 转换大写result <- toupper("Changin To Upper")print(result)# 转换小写result <- tolower("Changin To Upper")print(result)
打印结果:
图4.png
提取字符串的一部分 - substring()函数
substring()函数的基本语法是 -
substring(x,first,last)
以下是所使用的参数的描述 -
-- x是字符向量输入。
-- 首先是要提取的第一个字符的位置。
-- last是要提取的最后一个字符的位置。
示例:
# 截取字符串result <- substring("Extract", 5, 7)print(result)
打印结果:
图5.png
2. 向量
创建向量
# 创建向量# 字符向量print("abc")# 双精度向量print(12.5)# 整型向量print(63L)# 逻辑型向量print(TRUE)# 复数向量print(2+3i)# 原型向量print(charToRaw('Hello'))
示例:
图6.png
多元素向量
# 多元素向量# 创建序列5-13v <- 5:13print(v)# 创建序列6.6-12.6v <- 6.6:12.6print(v)# 如果最后的结点是特殊的,未在序列中定义v <- 3.8:11.4print(v)
打印结果:
图7.png
使用sequence (Seq.)序列运算符
# 创建从5-9,涨幅为0.4的向量print(seq(5, 9, by = 0.4))
打印结果:
图8.png
使用c()函数
# 使用c函数--如果其中一个元素是字符,则非字符值被强制转换为字符类型s <- c('apple', 'red', 5, TRUE)print(s)
打印结果:
图9.png
访问向量元素
# 访问向量元素# 使用索引访问向量的元素。 []括号用于建立索引。 索引从位置1开始。在索引中给出负值会丢弃来自result.TRUE,FALSE或0和1的元素,也可用于索引。t <- c("Sun", "Mon", "Tue", "Wed", "Thurs", "Fri", "Sat")# 使用坐标v <- t[c(2, 3, 6)]print(v)# 使用逻辑值v <- t[c(TRUE, FALSE, FALSE, FALSE, FALSE, TRUE, FALSE)]print(v)# 使用负数v <- t[c(-2,-5)]print(v)# 使用0/1v <- t[c(0,0,0,0,0,0,1)]print(v)
打印结果:
图10.png
向量运算
# 向量操作# 创建两个向量v1 <- c(3, 8, 4, 5, 0, 11) v2 <- c(4, 11, 0, 8, 1, 2)# 向量加法add.result <- v1 + v2print(add.result)# 向量减法sub.result <- v1 - v2print(sub.result)# 向量乘法multi.result <- v1 * v2print(multi.result)# 向量除法div.result <- v1 / v2 print(div.result)
打印结果:
图11.png
向量元素回收
# 向量元素回收# 如果我们对不等长的两个向量应用算术运算,则较短向量的元素被循环使用v1 <- c(3, 8, 4, 5, 0, 11) v2 <- c(4, 11)# v2 -> c(4, 11, 4, 11, 4, 11)add.result <- v1 + v2print(add.result) sub.result <- v1 - v2print(sub.result)
打印结果:
图12.png
向量元素排序(sort()函数)
# 向量排序v <- c(3, 8, 4, 5, 0, 11, -9, 304)# 排序sort.result <- sort(v)print(sort.result)# 递减排序revsort.result <- sort(v, decreasing = TRUE)print(revsort.result)# 字符排序v <- c("Red", "Blue", "yellow", "violet") sort.result <- sort(v)print(sort.result)# 递减排序revsort.result <- sort(v, decreasing = TRUE)print(revsort.result)
图13.png
3. 列表
创建列表
# 创建列表list_data <- list("Red", "Green", c(21, 32, 11), TRUE, 51.23, 119.1)print(list_data)
打印结果:
图14.png
命名列表元素
# 创建一个包含向量,矩阵,列表的列表list_data <- list(c("Jan", "Feb", "Mar"), matrix(c(3, 9, 5, 1, -2, 8), nrow = 2), list("green", 12.3))# 命名names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")print(list_data)
打印结果:
图15.png
访问列表元素
# 创建一个包含向量,矩阵,列表的列表list_data <- list(c("Jan", "Feb", "Mar"), matrix(c(3, 9, 5, 1, -2, 8), nrow = 2), list("green", 12.3))# 命名names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")# 打印第一个结点数据print(list_data[1])print("===========================")# 打印第三个结点数据print(list_data[3])print("===========================")# 使用名字访问print(list_data$A_Matrix)print("===========================")
打印结果:
图16.png
操控列表元素
# 操控列表元素# 创建一个包含向量,矩阵,列表的列表list_data <- list(c("Jan", "Feb", "Mar"), matrix(c(3, 9, 5, 1, -2, 8), nrow = 2), list("green", 12.3))# 命名names(list_data) <- c("1st Quarter", "A_Matrix", "A Inner list")# 在列表的末尾添加节点list_data[4] <- "New element"print(list_data[4])# 移除最后一个节点list_data[4] <- NULLprint(list_data[4])# 更新第三个节点list_data[3] <- "updated element"print(list_data[3])
打印结果:
图17.png
合并列表
# 合并列表list1 <- list(1, 2, 3) list2 <- list("Sun", "Mon", "Tue")# 合并两个列表merged.list <- c(list1, list2)print(merged.list)
打印结果:
图18.png
列表转换为向量
# 列表转换为向量--unlist()函数list1 <- list(1:5)print(list1) list2 <- list(10:14)print(list2)# 将列表转换为向量v1 <- unlist(list1) v2 <- unlist(list2)print(v1)print(v2)# 计算和result <- v1 + v2print(result)
打印结果:
图19.png
4. 矩阵
语法
在R语言中创建矩阵的基本语法是 -
matrix(data, nrow, ncol, byrow, dimnames)
以下是所使用的参数的说明 -
-- 数据是成为矩阵的数据元素的输入向量。
-- nrow是要创建的行数。
-- ncol是要创建的列数。
-- byrow是一个逻辑线索。 如果为TRUE,则输入向量元素按行排列。
-- dimname是分配给行和列的名称。
示例:
# 创建矩阵# 按行排列M <- matrix(c(3:14), nrow = 4, byrow = TRUE)print(M)# 按列排列M <- matrix(c(3:14), nrow = 4, byrow = FALSE)print(M)# 定义行和列的名字rowName = c("row1", "row2", "row3", "row4") colName = c("col1", "col2", "col3") P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rowName, colName))print(P)
打印结果:
图20.png
访问矩阵的元素
# 访问矩阵元素rowName = c("row1", "row2", "row3", "row4") colName = c("col1", "col2", "col3") P <- matrix(c(3:14), nrow = 4, byrow = TRUE, dimnames = list(rowName, colName))# 打印第一行第三列print(P[1, 3])# 打印第四行第二列print(P[4, 2])# 仅打印第二行print(P[2, ])# 打印第三列print(P[ , 3])
打印结果:
图21.png
矩阵加法和减法
# 矩阵加法和减法matrix1 <- matrix(c(3, 9, -1, 4, 2, 6), nrow = 2)print(matrix1) matrix2 <- matrix(c(5, 2, 0, 9, 3, 4), nrow = 2)print(matrix2)# 矩阵加法result <- matrix1 + matrix2 cat("Result of addition"," ")print(result)# 矩阵减法result <- matrix1 - matrix2 cat("Result of subtraction"," ")print(result)
作者:_凌浩雨
链接:https://www.jianshu.com/p/51107b987f38
共同学习,写下你的评论
评论加载中...
作者其他优质文章