gpt4 book ai didi

r - 如何控制 data.frame 中整数类型列的粘贴行为?

转载 作者:行者123 更新时间:2023-12-04 18:48:31 25 4
gpt4 key购买 nike

这是示例代码,它产生有趣的输出:

> gg<-data.frame(x=c("a","b"),y=as.integer(c(1000,100000)))
> gg
x y
1 a 1000
2 b 100000
> apply(gg,1,paste,collapse="")
[1] "a 1000" "b100000"
> apply(gg[1,],1,paste,collapse="")
1
"a1000"

在第一 apply运行,R 不知何故知道如何填充额外的空间。它是如何做到这一点的,是否有可能控制这种行为?

最佳答案

apply仅适用于数组或矩阵,因此它首先必须将 data.frame 转换为矩阵。 as.matrix(gg)创建填充。

看着 as.matrix.data.frame ,填充是由对 format 的调用引起的( format.default ,实际上),最终调用 prettyNum . prettyNum有一个 preserve.width参数默认为 "common" .

如果您想更好地控制此行为,请在调用 apply 之前将 data.frame 中的每一列转换为字符向量。 :

gg[,2] <- as.character(gg[,2])
apply(gg,1,paste,collapse="")
# [1] "a1000" "b100000"

关于r - 如何控制 data.frame 中整数类型列的粘贴行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9976005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com