楼主: priss111
21874 17

[问答] 请问如何将字符型变量始末的单引号去掉?谢谢! [推广有奖]

  • 0关注
  • 5粉丝

已卖:9份资源

副教授

16%

还不是VIP/贵宾

-

威望
0
论坛币
153 个
通用积分
47.5396
学术水平
11 点
热心指数
14 点
信用等级
10 点
经验
14935 点
帖子
472
精华
0
在线时间
808 小时
注册时间
2008-3-30
最后登录
2025-3-17

楼主
priss111 发表于 2011-9-29 16:15:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


请问如何将字符型变量id 的第一个字符(左边单引号)和最后一个字符(右边单引号)去掉?
谢谢!

substr不合适,因为观测值的长度不同无法写终止位置.
所有观测的起始字符可以确定是从第2个开始.

说明:
1.
id的观测值的位数不全相同;
2.
有的观测的单引号中的第一个字符可能是 -  
3.
想如何把id转化成id1
id
‘13294497’
‘20455648’
‘-148209’
...


id1
13294497
20455648
-148209
...


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:字符型变量 字符型 单引号 SUBSTR subs 如何 单引号

沙发
qoiqpwqr 发表于 2011-9-29 20:54:52
单引号是用来表示该变量是字符型变量,它本身不占字符数
> a <- '13294497'
> nchar(a)
[1] 8
如果你的字符变量都是数字的话,可以
as.numeric(id)

藤椅
shenbaiseshatan 在职认证  发表于 2011-9-29 23:04:51
qoiqpwqr 发表于 2011-9-29 20:54
单引号是用来表示该变量是字符型变量,它本身不占字符数
> a  nchar(a)
[1] 8
一直有个疑惑,就是R里面‘’这对字符的作用到底是啥?
胜人者有力,自胜者强!

板凳
shenbaiseshatan 在职认证  发表于 2011-9-29 23:05:04
qoiqpwqr 发表于 2011-9-29 20:54
单引号是用来表示该变量是字符型变量,它本身不占字符数
> a  nchar(a)
[1] 8
一直有个疑惑,就是R里面‘’这对字符的作用到底是啥?
胜人者有力,自胜者强!

报纸
qoiqpwqr 发表于 2011-9-29 23:32:08
shenbaiseshatan 发表于 2011-9-29 23:04
一直有个疑惑,就是R里面‘’这对字符的作用到底是啥?
表明里面的东东是个字符串。

地板
priss111 发表于 2011-9-30 07:55:49
qoiqpwqr 发表于 2011-9-29 20:54
单引号是用来表示该变量是字符型变量,它本身不占字符数
> a  nchar(a)
[1] 8
谢谢!

id1=as.numeric(id)
运行后R没有提示任何错误,
但id1并非id去除了单引号后的内容。

id本身是csv数据库中的一个字符型变量,
本身就带着单引号,
而不是说id=c('123','-445986','88093').

另外id变量单引号中并非全是数字,
单引号中的第1个字符有的可能是一个横杠。

备注:
id有几万条观测.

不知道是否能明白我的意图.

7
qoiqpwqr 发表于 2011-9-30 09:50:43
  1. removeQuote <- function(x) substr(x, 2, nchar(x) -1)
  2. apply(dat, 1, removeQuote)
复制代码

8
shenbaiseshatan 在职认证  发表于 2011-9-30 09:55:01
qoiqpwqr 发表于 2011-9-29 23:32
表明里面的东东是个字符串。
那它和""或者''有什么区别呢?
胜人者有力,自胜者强!

9
qoiqpwqr 发表于 2011-9-30 10:09:09
shenbaiseshatan 发表于 2011-9-30 09:55
那它和""或者''有什么区别呢?
单引号和双引号基本是一样的。
参考http://stat.ethz.ch/R-manual/R-p ... se/html/Quotes.html

10
priss111 发表于 2011-9-30 11:50:26
qoiqpwqr 发表于 2011-9-30 09:50
谢谢!


removeQuote=function(id) substr(id,2,nchar(id)-1)
id1=apply(id1,1,removeQuote)
错误于apply(cardid, 1, removeQuote) : dim(X)的值必需是正数

我这数据里面有的第2个字符是一个横杠.

####直接运行得到的结果位数不对.
did1=substr(cardid,2,nchar(cardid)-1)
> cardid1[1:5]
[1] "13"  "204" "-"   "866" "247"

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 11:22