#安装和加载R包
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) #对应清华源
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/") #对应中科大源
加载R包
library和require
options("repos" = c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="https://mirrors.ustc.edu.cn/bioc/")
install.packages("dplyr")
library(dplyr)
示例数据直接使用内置数据集iris的简化版:
test <- iris[c(1:2,51:52,101:102),]
#dplyr五个基础函数
library(dplyr)
创建一个示例数据框
data <- data.frame(
x = 1:5,
y = 6:10
)
使用mutate()函数创建新的变量
data <- mutate(data, z = x + y)
输出结果
print(data)
select()筛选
filter()筛选
arrange()按列排序排序
summarise():汇总
管道操作 %>% (cmd/ctr + shift + M)
inner_join(test1, test2, by = "x")
inner_join()函数和merge()函数都用于将两个数据框按照某些共同的列进行合并,但它们有一些区别:
语法差异:
inner_join()函数来自于dplyr包,其语法更加简洁明了,通常使用管道操作符%>%进行链式调用。它的语法为inner_join(x, y, by = NULL, ...),其中x和y是要合并的两个数据框,by是指定用于合并的列名。
merge()函数是基础R中的函数,其语法为merge(x, y, by = NULL, ...),也是用来合并两个数据框,by参数也是指定用于合并的列名。
包依赖:
inner_join()函数属于dplyr包,因此需要先加载dplyr包才能使用。
merge()函数是基础R的一部分,无需额外加载包即可使用。
默认行为:
在某些情况下,inner_join()和merge()的默认行为可能略有不同。例如,当两个数据框中存在重复的列名时,inner_join()会自动为其中一个数据框的重复列名添加后缀以区分,而merge()函数则不会自动处理,需要手动指定后缀。
性能差异:
在大型数据集上,dplyr包的函数通常比基础R函数的执行速度更快,因此inner_join()可能在某些情况下比merge()更高效。
总体而言,inner_join()函数提供了更为简洁和易读的语法,适用于在数据处理中的大多数情况,但是如果你更熟悉基础R的函数或者需要与基础R的其他函数进行交互,那么merge()函数也是一个很好的选择。
合并行与合并列
在相当于base包里的cbind()函数和rbind()函数;注意,bind_rows()函数需要两个表格列数相同,而bind_cols()函数则需要两个数据框有相同的行数
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。