gpt4 book ai didi

r - 为什么在 R 中导致无效格式 '%d?

转载 作者:行者123 更新时间:2023-12-01 11:01:00 33 4
gpt4 key购买 nike

下面给出的代码是将二进制文件从 float32 转换为 16b,比例因子为 10。我收到 %d 无效错误。

setwd("C:\\2001")
for (b in paste("data", 1:365, ".flt", sep="")) {
conne <- file(b, "rb")
file1<- readBin(conne, double(), size=4, n=360*720, signed=TRUE)
file1[file1 != -9999] <- file1[file1 != -9999]*10
close(conne)
fileName <- sprintf("C:\\New folder (11)\\NewFile%d.bin", b)
writeBin(as.integer(file1), fileName, size = 2)
}

结果:
Error in sprintf("C:\\New folder (11)\\NewFile%d.bin",  : 
invalid format '%d'; use format %s for character objects

我用了 %s正如 R 所建议的那样。但是 1:365 的文件完全是空的

最佳答案

%d是字符串中整数变量的占位符。因此,当您使用 sprintf(%d, var) , var必须是整数。

在您的情况下,变量 b是一个字符串(或一个字符对象)。因此,您使用占位符来表示字符串变量,即 %s .

现在,如果您的文件是空的,那么您的代码中的其他地方一定有问题。你应该问另一个更具体的问题。

关于r - 为什么在 R 中导致无效格式 '%d?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10786169/

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