R 应用中的数字将被空格填充
我想根据数据框中的两个变量创建一个文件夹名,但这里有点不对劲R 应用中的数字将被空格填充,r,R,我想根据数据框中的两个变量创建一个文件夹名,但这里有点不对劲 head(clustering) line x y qerror 1 200 15 19 1.118677 2 201 11 19 1.038482 3 202 0 6 1.238026 4 203 0 18 1.321878 5 204 0 12 1.204173 6 205 5 0 1.394773 str(clustering) 'data.frame': 3406 obs. of 4
head(clustering)
line x y qerror
1 200 15 19 1.118677
2 201 11 19 1.038482
3 202 0 6 1.238026
4 203 0 18 1.321878
5 204 0 12 1.204173
6 205 5 0 1.394773
str(clustering)
'data.frame': 3406 obs. of 4 variables:
$ line : Factor w/ 3406 levels "1001","1003",..: 814 822 831 841 847 858 891 ...
$ x : num 15 11 0 0 0 5 16 8 1 0 ...
$ y : num 19 19 6 18 12 0 14 19 17 18 ...
$ qerror: num 1.12 1.04 1.24 1.32 1.2 ...
当我尝试使用x和y列创建文件夹名称时,我会执行以下操作:
apply(head(clustering),1,function(x){paste0('x',x[2],'_by_y',x[3])})
1 2 3 4 5 6
"x15_by_y19" "x11_by_y19" "x 0_by_y 6" "x 0_by_y18" "x 0_by_y12" "x 5_by_y 0"
如您所见,如果该值小于10,则x和y将获得额外的空间。但当我不使用apply时,它似乎起了作用
paste0('x',clustering[3,2],'_by_y',clustering[3,3])
[1] "x0_by_y6"
有人知道为什么会有空格吗?这是因为
apply
中的以下几行:
if (!dl)
stop("dim(X) must have a positive length")
if (is.object(X))
X <- if (dl == 2L)
as.matrix(X)
else as.array(X)
我可以用给定的col类生成它。在apply中,每一行都被强制转换为字符。不知何故,由于因子(?),带有一个数字的整数数字被格式化为前导空格<代码>应用(头(聚类)[2:3],1,函数(x){paste0('x',x[1],'u by_y',x[2])}将起作用(将
x
向量转换为数字)。最近的宣传是什么?为什么不只是一些好的矢量化?类似于len@lukeA,这是因为format
。
lapply(mydf, format)
# $line
# [1] "200" "201" "202" "203" "204" "205"
#
# $x
# [1] "15" "11" " 0" " 0" " 0" " 5"
#
# $y
# [1] "19" "19" " 6" "18" "12" " 0"
#
# $qerror
# [1] "1.118677" "1.038482" "1.238026" "1.321878" "1.204173" "1.394773"