字符串连接函数paste

1、字符串连接:paste(..., sep = " ", collapse = NULL)sep表示分隔符,默认为空格。collapse表示如果不指定值,那么函数paste的返回值是自变量之间通过sep指定的分隔符连接后得到的一个字符型向量;如果为其指定了特定的值,那么自变量连接后的字符型向量会再被连接成一个字符串,之间通过collapse的值分隔
(1) paste函数把它的自变量连成一个字符串,中间用空格分开,如
> paste("Hello","world")
[1] "Hello world"
(2) 连接的自变量可以是向量,这时各对应元素连接起来,长度不相同时较短的向量被重复使用。如
> paste("A", 1:6, sep = "")
[1] "A1" "A2" "A3" "A4" "A5" "A6"
(3) 如果希望将一个向量中所有字符连接在一起且中间用逗号分隔,使用paste(x,collapse)即可,结果只是返回一个元素。
> paste(letters[1:6],collapse=",")
[1] "a,b,c,d,e,f"
(4) 同时使用了参数seq与collapse
> paste("A", 1:6, sep = "", collapse=",")
[1] "A1,A2,A3,A4,A5,A6"
(5)如果只是希望向量x中每一个元素和特定的字符(如下划线_)连接,使用paste(x,seq=)即可,如
> paste(letters[1:4], seq='_')
[1] "a _" "b _" "c _" "d _"
2、应用方面,以上说的还是paste的基础常用方式,下面说的是我经常会用到的paste用法,与学习的时候不同,paste其实用法挺灵活的。
(1) R读取数据的时候有时会读取多个文件如:a.csv b.csv c.csv,d.csv........等,这时可以用到paste来实现。
> path <- 'E:\\mytestdata\\'
> setwd(path)
> dir.data <- dir(path)
> dir.data
[1] "a.csv" "b.csv" "c.csv" "d.csv"
>for(i in 1:length(dir.data)){
>data <- read.csv(paste(path,dir.data[i],sep=''))
>}
循环读取文件,data分别表示  "a.csv" "b.csv" "c.csv" "d.csv",可以在循环里对每个文件进行操作
 
(2)R保存文件的时候也可以用paste
write.csv(a.csv,file=paste(path,'data.csv'))
(3) paste也可以连接sql语句
paste('select * from student where date =','date',sep=" ")
这样的好处是可以把date设置为外来参数,进行传参。
 
总结:虽然列举了不同的用法,但是本质就是字符串连接,只不过在实际中用法比较灵活,需要多加练习,用多了会觉得非常好用。
3、使用paste0连接多个字符串
> date1 <- 20150101
> date2 <- 20151231
> paste0("select * from sales where stat_date between ",date1," and ",date2)
[1] "select * from sales where stat_date between 20150101 and 20151231"

dim(x)查看或设置数组的维度向量

> a <- matrix(1:20,nrow=5,ncol=4,byrow=T)
> a
[,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
[3,] 9 10 11 12
[4,] 13 14 15 16
[5,] 17 18 19 20
> is.matrix(a)
[1] TRUE
> dim(a) #查看或设置数组的维度向量
[1] 5 4
# 错误的用法
> dim(a) <- c(4,4)
Error in dim(a) <- c(4, 4) : dims [product 16]与对象长度[20]不匹配
> # 正确的用法
> a <- 1:20
> dim(a) <- c(5,4) #转换向量为矩阵
> a
[,1] [,2] [,3] [,4]
[1,] 1 6 11 16
[2,] 2 7 12 17
[3,] 3 8 13 18
[4,] 4 9 14 19
[5,] 5 10 15 20
is系列和as系列函数用来判断变量的属性和转换变量的属性
> is.character(a)
[1] FALSE
> is.numeric(a)
[1] TRUE
> is.matrix(a)
[1] TRUE
> is.data.frame(a)
[1] FALSE
# 矩阵转换为data.frame
> is.data.frame(as.data.frame(a))
[1] TRUE
 
 
 
 
 

R函数详解的更多相关文章

  1. Linux C popen()函数详解

    表头文件 #include<stdio.h> 定义函数 FILE * popen( const char * command,const char * type); 函数说明 popen( ...

  2. Linux环境fork()函数详解

    Linux环境fork()函数详解 引言 先来看一段代码吧, 1 #include <sys/types.h> 2 #include <unistd.h> 3 #include ...

  3. AdapterView的使用与getView函数详解

    作者:徐冉.文章首发在他的个人博客. ) AdapterView&Adapter家族 adapterview就是和数据有关的控件,如listview,gridview,spinnerview等 ...

  4. python3 内置函数详解

    内置函数详解 abs(x) 返回数字的绝对值,参数可以是整数或浮点数,如果参数是复数,则返回其大小. # 如果参数是复数,则返回其大小. >>> abs(-25) 25 >&g ...

  5. C++ list容器系列功能函数详解

    C++ list函数详解 首先说下eclipse工具下怎样debug:方法:你先要设置好断点,然后以Debug方式启动你的应用程序,不要用run的方式,当程序运行到你的断点位置时就会停住,也会提示你进 ...

  6. CString 的成员函数详解

    CSTRING的成员函数详解   typedef ATL::CStringT< TCHAR, StrTraitMFC_DLL< TCHAR > > CString;CStrin ...

  7. malloc 与 free函数详解<转载>

    malloc和free函数详解   本文介绍malloc和free函数的内容. 在C中,对内存的管理是相当重要.下面开始介绍这两个函数: 一.malloc()和free()的基本概念以及基本用法: 1 ...

  8. NSSearchPathForDirectoriesInDomains函数详解

    NSSearchPathForDirectoriesInDomains函数详解     #import "NSString+FilePath.h" @implementation ...

  9. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

随机推荐

  1. dotNet Core初学之创建第一个dotNetCore项目

    首先创建解决方案dotNetCrazy 一.创建项目 1.这里选择.Net Core 选择ASP.NET Core Web 应用程序 名称暂且叫CoreCrazy 这里我们选择 web应用程序(模型视 ...

  2. HDU 1231——最大连续子序列(DP)

    最大连续子序列 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  3. Lint工具去除Android工程里不再需要的资源

    摘要: 在项目开发过程中常常会不断改UI设计,于是在定稿要发布的前夕,发现有好多不再需要的资源文件存在,发布的包会把这些无用的资源都包含在里面,造成APK的下载包过大.可以通过Android SDK自 ...

  4. Bootstrap4 网格系统

    学习注意事项 col-*-* 第一个*是设备类型,第二个*是控件宽度的占比 屏幕被等分为12,col-1宽度是1/12,col-6宽度是50%,col-12宽度是100% 给应用了class的elem ...

  5. 利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全)

    利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全) 14.8 利用JFreeChart生成组合图表  实例位置:光盘\mingrisoft\14\dxyy\02 通过JFree ...

  6. 利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)

    利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全) 14.7 利用JFreeChart生成多轴图表 通过JFreeChart插件还可以生成拥有多个坐标轴的图表,简称多轴图表.在生 ...

  7. 【转载pku】三十分钟掌握STL

    三十分钟掌握STL 这是本小人书.原名是<using stl>,不知道是谁写的.不过我倒觉得很有趣,所以化了两个晚上把它翻译出来.我没有对翻译出来的内容校验过.如果你没法在三十分钟内觉得有 ...

  8. Ado.net设计模式

    连接类 连接类有固定的使用模式,这是常用的乐观模式: using (var conn = new SqlConnection(connstr)) { conn.Open(); //执行各种数据库操作 ...

  9. 2-6 ES6常用语法

  10. 14_activity四种状态说明

    之前讲过Servlet的生命周期.Servlet的生命周期相对来讲比较少,一共就那么几个方法.Activity的生命周期相对来讲还是比较多的. An activity is a single, foc ...