楼主: priss111
21873 17

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

11
qoiqpwqr 发表于 2011-9-30 12:07:49
priss111 发表于 2011-9-30 11:50
谢谢!
我的程序里面的dat必须是大小为n x 1的data frame

12
priss111 发表于 2011-9-30 13:07:08
qoiqpwqr 发表于 2011-9-30 12:07
我的程序里面的dat必须是大小为n x 1的data frame
谢谢!

可以了。

另外请问:
功能类同于nchar函数,
但针对数值变量的是哪个函数?



card= read.csv(file="CARD.csv", hearder=TRUE, sep=",")
n=length(card) #n==78
mode(card) # list
mode(id) # numeric
id[1:10]
###[1] ‘13294497’ ‘20455648’ ‘-148209’  ‘8661261’  ‘24742283’ ‘15966960’
[7] ‘-150598’  ‘18323141’ ‘11718213’ ‘20574307’

idd=id
mode(idd) # numeric
n=length(idd) #21900
iddd=as.matrix(idd)
dim(iddd)
[1] 21900     1
iddd[1:10]
[1] "‘13294497’" "‘20455648’" "‘-148209’"  "‘8661261’"  "‘24742283’"
[6] "‘15966960’" "‘-150598’"  "‘18323141’" "‘11718213’" "‘20574307’"

> removeQuote <- function(iddd) substr(iddd, 2, nchar(iddd) -1)
> aa=apply(iddd, 1, removeQuote) 警告信息:
In aperm.default(X, c(s.call, s.ans)) :
  Reached total allocation of 1535Mb: see help(memory.size)

> aa[1:10]
[1] "13294497" "20455648" "-148209"  "8661261"  "24742283" "15966960"
[7] "-150598"  "18323141" "11718213" "20574307"
> mode(aa)
[1] "character"
> length(aa)
[1] 21900
> aanumeric=as.numeric(aa)
> aanumeric[1:10]
[1] 13294497 20455648  -148209  8661261 24742283 15966960  -150598 18323141
[9] 11718213 20574307

13
qoiqpwqr 发表于 2011-9-30 21:22:54
priss111 发表于 2011-9-30 13:07
谢谢!

可以了。
还是nchar

> x <- -2.456
> nchar(x)
[1] 6

14
priss111 发表于 2011-9-30 23:09:12
qoiqpwqr 发表于 2011-9-30 21:22
还是nchar

> x  nchar(x)
哦,
谢谢!

请问下面这个警告信息时因为R运行时计算机的内存不够引起的?

> removeQuote <- function(iddd) substr(iddd, 2, nchar(iddd) -1)
> aa=apply(iddd, 1, removeQuote) 警告信息:
In aperm.default(X, c(s.call, s.ans)) :
  Reached total allocation of 1535Mb: see help(memory.size)

15
qoiqpwqr 发表于 2011-10-1 00:06:22
priss111 发表于 2011-9-30 23:09
哦,
谢谢!
应该是的。看看memory.size把内存限制调高些。

16
priss111 发表于 2011-10-1 08:57:13
qoiqpwqr 发表于 2011-10-1 00:06
应该是的。看看memory.size把内存限制调高些。
o,
tks.


> bb=memory.size
> bb
function (max = FALSE)
round(.Internal(memory.size(max)), 2L)
<environment: namespace:utils>

17
priss111 发表于 2011-10-1 08:57:25
qoiqpwqr 发表于 2011-10-1 00:06
应该是的。看看memory.size把内存限制调高些。
o,
tks.


> bb=memory.size
> bb
function (max = FALSE)
round(.Internal(memory.size(max)), 2L)
<environment: namespace:utils>

18
gongchangyikun 发表于 2016-6-25 19:36:23
qoiqpwqr 发表于 2011-9-29 20:54
单引号是用来表示该变量是字符型变量,它本身不占字符数
> a  nchar(a)
[1] 8
如果是不全是数字的字符型变量,例如 “X1”,能把引号去掉吗?

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

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