-1

我有一个名为dfGL22 列和 17000 行的数据框!行名称为:pressure, diameter, roughness...

我想从此数据框中创建一个 txt 文件,以便:

  • dfGL 的第一列从文本文件的位置 1 开始(第 1 行第 1 列),
  • 第 2 列从位置 25 开始(第 1 行第 25 列),
  • 第 3 列从位置 50 开始(第 1 行第 50 列),
  • 等等! 在此处输入图像描述
4

3 回答 3

1

如果要创建固定宽度文件,我建议使用包中write.fwf的。gdatacol 名称似乎没有保存到正确的位置,因此要解决此问题,您可以将它们格式化为您希望列使用的宽度formatC

library(gdata)
colnames(dfGL) <- formatC(colnames(dfGL), width = 25, flag = " ")
write.fwf(dfGL, file = "C:/Users/sara/Desktop/Inputttt.txt", width = rep(25,ncol(dfGL)), sep="")
于 2018-05-24T02:09:11.657 回答
0

我认为您要做的是最终得到一个分隔文本文件,每个相邻变量之间有 24 个空白列。这是一种迂回而笨拙的解决方案。如果您的任何变量中有任何带逗号的字符串,它会中断,具有在字符串中写入 24 个逗号的烦人质量(您可以用 来计算它们nchar()),并且犯有将数据保存到磁盘然后读回它们的罪行在。

# Export your data.frame to a csv file
write.csv(YourDataFrame, file="Path/To/File.csv", row.names=FALSE)

# Read in the lines of the file
fileLinesTemp = readLines("Path/To/File.csv")
# Add a bunch of commas to add columns
fileLinesTemp = gsub(",", ",,,,,,,,,,,,,,,,,,,,,,,,", fileLinesTemp)

# Write the new lines back to the file
fileConn = file("Path/To/File.csv")
writeLines(fileLinesTemp, fileConn)
close(fileConn)
于 2018-05-24T00:33:24.923 回答
0

这是有效的解决方案:

library(gdata)

dfGL <- rbind(colnames(dfGL) , dfGL)
write.fwf(dfGL, file = "Inpuuuttt.txt", 
          width = 25,rownames = TRUE, colnames = FALSE,  quote = FALSE)
于 2018-05-24T17:14:47.970 回答