我有一个数据框,其中一些行有空白条目,例如使用玩具示例
Sample Gene RS Chromosome
1 A rs1 10
2 B X
3 C rs4 Y
即。样本2没有rs#。如果我尝试使用以下方法将此数据框保存在文件中
write.table(mydata,file="myfile",quote=FALSE,sep='\t')
然后read.table('myfile',header=TRUE,sep='\t')
,我收到错误,指出第2行中的条目数没有4个元素。如果我设置quote=TRUE
,则表中会显示""
条目。我正在尝试找出一种使用write.table
和quote=FALSE
创建表格的方法,同时为缺少条目的行保留空白占位符,例如2.
有一种简单的方法吗?我试图在NA=""
中使用参数write.table()
,但这并没有改变任何内容。
答案 0 :(得分:1)
如果我的脚本数据框的结果有NA我总是替换它,一种方法是用数据框中的NA替换一些其他文本,告诉你这个条目在数据框中是NA
- 特别是如果要将结果保存在csv /数据库或某些非-EN env
一个简单的脚本
replace_NA <- function(x,replacement="N/A"){
x[is.na(x)==T] <- replacement
}
sapply(df,replace_NA,replacement ="N/A" )
答案 1 :(得分:0)
您正在尝试重新发明固定宽度的文件格式。您请求的格式在每个实列之间都有一个空白列。虽然'utils'包有write.fwf
,但我找不到read.fwf
。获取请求输出的最简单方法是:
capture.output(dat, file='test.dat')
# Result in a text file
Sample Gene RS Chromosome
1 1 A rs1 10
2 2 B X
3 3 C rs4 Y
这主要使用print
方法(在R REPL的末尾)为数据帧为你做间距。