R 如何解压缩.Z文件

R 如何解压缩.Z文件,r,R,我希望使用R(版本3.2.2)读取大量压缩为.Z文件的文件。据我所知,uncompress()已在最新版本中删除。如果有人能告诉我如何使用R来解压缩.Z文件,我将不胜感激 您可以尝试安装上次存档的版本。(请注意,uncompress是一个归档包,而不是一个曾经存在于base R中的函数,该函数已被弃用/删除…)。您需要在计算机上安装适当的开发工具(C编译器、make)[例如,请参见第2点] 这为我安装了一个干净的R开发版本,但实际上我没有在任何.Z文件上尝试过,因为我没有这些文件。我知道我提问题

我希望使用R(版本3.2.2)读取大量压缩为
.Z
文件的文件。据我所知,
uncompress()
已在最新版本中删除。如果有人能告诉我如何使用R来解压缩.Z文件,我将不胜感激

您可以尝试安装上次存档的版本。(请注意,
uncompress
是一个归档包,而不是一个曾经存在于base R中的函数,该函数已被弃用/删除…)。您需要在计算机上安装适当的开发工具(C编译器、make)[例如,请参见第2点]


这为我安装了一个干净的R开发版本,但实际上我没有在任何
.Z
文件上尝试过,因为我没有这些文件。

我知道我提问题晚了,但我四处看看是否有比我发现你的问题时我们正在做的更好的建议。正如Ben所建议的,调用另一个工具可能是Windows、Linux和OSX能够以本机方式处理.Z文件的最佳选择

下面是一个函数的示例(不是我写的,是Ivan Hanigan写的,但我使用过它,所以我知道它是有效的)在一个R包中检查操作系统,然后如果操作系统是Windows,则查找7Zip

################################################################
#名称:ZipFunctions.R

解压linux您使用的是什么操作系统?您可能需要使用
system()
调用另一个工具来完成此操作,嗨,本,我正在使用Windows 7。谢谢本。这似乎对我不起作用。我已尝试按照您的建议安装开发工具,但收到一条消息说“错误:无法找到构建解压缩所需的构建工具”。非常感谢您的回答。这也是我当时在工作中所做的。我想这可能不是唯一的方法,但可能是R在Windows上处理.Z文件最有效的方法。干杯
library("devtools")
install_version("uncompress","1.34")
################################################################
# name:ZipFunctions.R
uncompress_linux <- function(filename)
  {
    print(filename)
    system(sprintf('uncompress %s',filename))
  }

# tries to find 7 zip exe
ExecutableFileName7Zip <- function()
{
  executableName <- "C:\\Program Files\\7-Zip\\7z.exe"

  if(file.exists(executableName))
  {
    return (executableName)
  }

  #other executable file names and ideas go here ...
  stop("failed to find 7zip")
}

# simple function to extract 7zip file
# need to have 7zip installed
Decompress7Zip <- function(zipFileName, outputDirectory, delete)
{
  executableName <- ExecutableFileName7Zip()

#   fileName = GetFileName(zipFileName)
#   fileName = PathCombine(outputDirectory, fileName)


#   if(file.exists(fileName))
#   {
#     unlink(zipFileName);
#   }

  arguments <- paste(sep="",
                    "e ",
                    "\"", zipFileName, "\" ",
                    "\"-o", outputDirectory, "\" ",
    "")

  print( arguments)

  RunProcess(executableName, arguments)

  if(delete)
  {
    unlink(zipFileName);
  }
}