ToB企服应用市场:ToB评测及商务社交产业平台
标题:
R语言的基本语句及基本规则
[打印本页]
作者:
丝
时间:
2024-10-10 06:59
标题:
R语言的基本语句及基本规则
0x01 赋值语句
使用 “<-” 或 “=” 举行赋值。比方:
x <- 5 # 将数值 5 赋值给变量 x
y = 10 # 另一种赋值方式
复制代码
0x02 输出语句
使用 print() 函数输出内容。比方:
print("Hello, R!")
print(x)
复制代码
0x03 表明语句
任何在 #之后的内容在 R 表明器中都会被忽略,作为表明。
比方:x <- 5 # 给变量 x 赋值为 5,这里 # 给变量 x 赋值为 5就是表明部门,它不会被执行,只是为了方便开发者明白代码的含义。
0x04 条件语句
1.if 语句:
if (condition) {
# 如果条件为真执行这里的代码
}
复制代码
比方:
if (x > 0) {
print("x is positive")
}
复制代码
2.if-else 语句:
if (condition) {
# 如果条件为真执行这里的代码
}
else { # 如果条件为假执行这里的代码}
复制代码
比方:
if (x > 0) {
print("x is positive")
}
else { print("x is non-positive")}
复制代码
3.if-else if-else 语句:
if (condition1) {
# 如果条件 1 为真执行这里的代码
} else if (condition2) {
# 如果条件 2 为真执行这里的代码
} else {
# 如果所有条件都为假执行这里的代码
}
复制代码
比方:
if (x > 0) {
print("x is positive")
}
else if (x < 0) { print("x is negative")} else { print("x is zero")}
复制代码
0x05 循环语句
1.for 循环:
for (item in sequence) {
# 对序列中的每个元素执行这里的代码
}
复制代码
比方:
for (i in 1:5) {
print(i)
}
复制代码
2.while 循环:
while (condition) {
# 当条件为真时执行这里的代码
}
复制代码
比方:
i <- 1
while (i <= 5) {
print(i)
i <- i + 1
}
复制代码
0x06 函数调用语句
使用函数名加上括号,并在括号内传入相应的参数来调用函数。比方:
mean(c(1, 2, 3, 4, 5)) # 求向量的均值
复制代码
0x07 向量
一、向量的一致性
向量中的元素必须是同一类型,可以是数值型、字符型、逻辑型等。比方:v <- c (1, 2, 3)是一个数值型向量,w <- c ("apple", "banana", "cherry")是一个字符型向量,x <- c(TRUE, FALSE, TRUE)是一个逻辑型向量。
如果尝试把不同类型的成员放在一起,R 语言会尽量举行自动类型转换,以保持队伍的某种一致性。比方,v <- c(1, 2, "three"),这里本来前两个是数字,第三个是字符,R 语言会把前两个数字也转换为字符类型,终极这个向量就全是字符类型了。
二、向量的次序
向量中的元素是有次序的,就像队伍中的成员有前后分列次序一样。可以通过索引来访问特定位置的成员。
比如在前面的数字向量中,v[1]就代表第一个成员 1,v[3]就代表第三个成员 3。
三、向量的操作
可以对向量这个队伍举行各种操作。比如可以对整个向量举行数学运算,就像让整个队伍的成员同时执行某个任务一样。
比方,给向量中的每个元素都加 2,如果是向量 v <- c(1, 2, 3, 4, 5),那么 v + 2 就会得到一个新的向量 c(3, 4, 5, 6, 7)。
四、创建向量的方法
在 R 语言中,创建向量的方法重要有以下几种:
1.使用 c()函数
这是最常见的创建向量的方法。可以将不同的值组合在一起创建一个向量。
v <- c(1, 2, 3, 4, 5)
w <- c("apple", "banana", "cherry")
x <- c(TRUE, FALSE, TRUE)
复制代码
2.使用 :运算符
可以创建一个连续的整数序列向量。
v <- 1:5 # 创建包含 1、2、3、4、5 的向量
复制代码
3.使用 seq()函数
可以更灵活地创建序列向量。可以指定起始值、竣事值、步长等参数。
v <- seq(from = 1, to = 10, by = 2) # 创建从 1 到 10,步长为 2 的向量(1、3、5、7、9)
复制代码
4.使用 rep()函数
可以重复一个值或一个向量来创建新的向量。
v <- rep(5, times = 3) # 创建包含三个 5 的向量(5、5、5)
w <- rep(c(1, 2), times = 2) # 创建包含(1、2、1、2)的向量
复制代码
5.从外部数据创建向量
① 从文件中读取数据创建向量:比方从 CSV 文件中读取一列数据可以创建一个向量。
data <- read.csv("myfile.csv")
v <- data$column_name # 假设 CSV 文件中有一列名为 column_name,提取这一列数据作为向量
复制代码
②从数据库中查询数据创建向量:使用相应的数据库连接包,查询数据库中的一列数据可以创建向量。
6.使用函数的返回值创建向量
一些函数的返回值是向量,比方统计函数的结果可以创建向量。
v <- runif(5) # 创建包含 5 个随机数的向量,来自均匀分布
复制代码
0x08 变量定名
在 R 语言中,变量定名有以下规则:
一、字符组成
变量名可以由字母、数字、点(.)和下划线(_)组成。
比方:my_variable、variable1、my.var都是合法的变量名。
二、开头字符
变量名必须以字母或点开头,不能以数字开头,且如果以点开头,后面必须紧跟字母,不能是数字。
正确的例子:myVar、.myVar、.myVar1。
错误的例子:1myVar、.1myVar。
三、区分大小写
R 语言是区分大小写的,这意味着不同大小写的变量名代表不同的变量。
比方:myVar和myvar是两个不同的变量。
四、避免特别字符和关键字
1.变量名不能包含除了字母、数字、点和下划线之外的特别字符,如空格、逗号、括号等。
错误的例子:my var、my(Var)。
2.变量名也不能是 R 语言的关键字,如 if、else、for等。
错误的例子:if、elsewhere(因为它与关键字 else相似)。
五、有意义的定名
为了提高代码的可读性和可维护性,变量名应该具有描述性,可以大概清晰地表达变量所代表的含义。
比方:使用total_score而不是ts来表现总分,这样其他人在阅读你的代码时更容易明白变量的用途。
0x09 数组
在 R 语言中,数组(array)是一种可以存储多个雷同类型元素的数据布局,它具有多个维度。
一、创建数组
可以使用 array()函数来创建数组。
# 创建一个一维数组
arr1 <- array(c(1, 2, 3, 4, 5))
# 创建一个二维数组
arr2 <- array(c(1:12), dim = c(3, 4))
复制代码
在创建二维数组的例子中,dim = c(3, 4)指定了数组的维度为 3 行 4 列。
二、访问数组元素
可以使用下标来访问数组中的元素。
# 访问二维数组 arr2 的第一行第二列元素
arr2[1, 2]
复制代码
三、数组的属性
1.dim()函数可以查看数组的维度。
比方:dim(arr2)将返回 c(3, 4),表现这个数组有 3 行 4 列。
2.length()函数可以查看数组的总长度,即全部元素的个数。
四、数组的运算
可以对数组举行各种数学运算,比方加法、减法、乘法等。这些运算会对数组中的每个元素举行操作。
arr3 <- array(c(2, 4, 6, 8, 10))
arr4 <- arr1 + arr3
复制代码
这里将数组 arr1和 arr3对应元素相加,得到一个新的数组 arr4。
五、数组与其他数据布局的转换
1.可以将数组转换为向量,使用 as.vector()函数。
比方:vec <- as.vector(arr2)将二维数组 arr2转换为一个向量。
2.可以从向量或其他数据布局创建数组,如前面创建数组的例子所示。
0x0A 数据框
在 R 语言中,数据框(data frame)是一种用于存储数据的表格型数据布局,它非常常用且功能强大。
一、创建数据框
使用 data.frame()函数创建数据框。可以将不同类型的向量作为参数传入,每个向量代表数据框的一列。
name = c("Alice", "Bob", "Charlie")
age = c(25, 30, 35)
gender = c("F", "M", "M")
df <- data.frame(name, age, gender)
复制代码
二、查看数据框的布局
使用 str()函数可以查看数据框的布局信息,包括每列的名称、类型和数据的预览。
str(df)
复制代码
三、访问数据框的元素
1.使用下标可以访问数据框中的特定元素。比方,df[1, 2]访问数据框 df的第一行第二列的元素。
2.使用列名可以访问特定的列。比方,df$name访问名为 “name” 的列。
3.可以使用条件筛选来选择满足特定条件的行。比方,df[df$age > 30,]选择年龄大于 30 的行。
四、添加和删除列
1.添加列:可以通过赋值的方式添加新的列。比方,df$new_column <- c(1, 2, 3)在数据框 df中添加一个名为 “new_column” 的列。
2.删除列:可以使用 subset()函数或者通过将特定列赋值为 NULL来删除列。比方,df <- subset(df, select = -new_column)或者 df$new_column <- NULL。
五、对数据框举行操作
1.排序:可以使用 order()函数对数据框举行排序。比方,df[order(df$age),]按照年龄列对数据框举行升序排序。
2.归并数据框:可以使用 rbind()(按行归并)和 cbind()(按列归并)函数来归并多个数据框。比方,df1 <- data.frame(a = c(1, 2), b = c(3, 4)),df2 <- data.frame(a = c(5, 6), b = c(7, 8)),rbind(df1, df2)按行归并两个数据框。
0x0B 列表
在 R 语言中,列表(list)是一种非常灵活的数据布局,可以存储不同类型的元素,包括其他列表。
一、创建列表
可以使用 list()函数创建列表。
my_list <- list(name = "Alice", age = 25, scores = c(80, 90, 95), sublist = list(a = 1, b = 2))
复制代码
二、访问列表元素
1.使用下标和双括号 [[]]可以访问列表中的特定元素。比方,my_list[[1]]访问列表中的第一个元素,这里是 “Alice”。
2.使用美元符号 $可以通过名称访问列表中的元素。比方,my_list$age访问年龄元素,即 25。
3.对于嵌套列表,可以使用多个下标或美元符号组合来访问内部元素。比方,my_list$sublist$a访问嵌套列表中的 “a” 元素,即 1。
三、添加和删除元素
1.添加元素:可以通过赋值的方式向列表中添加新元素。比方,my_list$new_element <- "new value"在列表中添加一个名为 “new_element” 的元素。
2.删除元素:可以将特定元素赋值为 NULL来删除它。比方,my_list$new_element <- NULL删除 “new_element” 元素。
四、列表的特点
1.灵活性:列表可以存储不同类型的元素,包括向量、数据框、函数等。这使得列表在处理复杂数据布局时非常有用。
2.嵌套性:列表可以包含其他列表,形成嵌套的布局,方便组织和管理数据。
五、列表与其他数据布局的转换
可以将列表转换为向量、数据框等其他数据布局,具体取决于列表的内容和需求。比方,可以使用 unlist()函数将列表转换为向量,但需要留意如果列表中包含不同类型的元素,转换大概会导致一些信息丢失。
0x0C 数据读入
在 R 语言中,可以从多种来源读入数据,以下是一些常见的方法:
一、从文本文件读入数据
1.读入 CSV 文件:
使用 read.csv()或 readr包中的 read_csv()函数。
# 使用基础函数
data <- read.csv("your_file.csv")
# 使用 readr 包
library(readr)
data <- read_csv("your_file.csv")
复制代码
2.读入文本文件(制表符分隔、空格分隔等):
使用 read.table()或 readr包中的 read_tsv()(读入制表符分隔文件)、read_delim()(可指定分隔符)等函数。
# 读入制表符分隔的文件
data <- read.table("your_file.txt", sep = "\t")
复制代码
二、从 Excel 文件读入数据
使用 readxl包:
library(readxl)
data <- read_excel("your_file.xlsx")
复制代码
三、从数据库读入数据
如前面所述,使用相应的数据库连接包(如 RMySQL、RODBC等)创建数据库连接,然后执行 SQL 查询将数据读入 R。
四、从网页上获取数据
使用 rvest包举行网页抓取,提取所需的数据。
library(rvest)
page <- read_html("your_webpage_url")
data <- page %>% html_nodes("your_selector") %>% html_text()
复制代码
五、从 R 数据文件读入数据
使用 load()函数可以加载 .RData文件,其中大概包含之宿世存的数据集或其他 R 对象。
load("your_data.RData")
复制代码
六、从其他统计软件导入数据
比方,可以使用 foreign包从 SPSS、SAS、Stata 等软件中导入数据。
在读取数据时,要留意大概需要根据实际情况指定一些参数,如文件路径、分隔符、列名、数据类型等,以确保正确地读入数据。
如果你还需要从同一目次下读取更多文件,可以利用setwd函数:
设置工作目次: setwd("your_directory_path")
查询当前工作目次:getwd()
0x0D 数据导出
在 R 语言中,可以将数据导出为多种格式,以下是一些常见的方法:
一、导出为 CSV 文件
使用 write.csv()或 write_csv()(来自 readr包)函数。
# 使用基础函数
write.csv(data, "output_file.csv", row.names = FALSE)
# 使用 readr 包
library(readr)
write_csv(data, "output_file.csv")
复制代码
参数 row.names = FALSE可以避免将行名写入 CSV 文件中,同理col.names参数可决定列名是否写入文件。
二、导出为 Excel 文件
使用 writexl包:
library(writexl)
write_xlsx(data, "output_file.xlsx")
复制代码
三、导出为文本文件
使用 write.table()函数:
write.table(data, "output_file.txt", sep = "\t", row.names = FALSE)
复制代码
这里 sep = "\t"指定了使用制表符作为分隔符,你可以根据需要选择其他分隔符。
四、生存为 R 数据文件
使用 save()函数可以将 R 对象生存为 .RData文件。
save(data, file = "output_data.RData")
复制代码
在导出数据时,可以根据具体需求调整函数的参数,以满足不同的格式要求和输出设置。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4