Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中将不同的类写入一个excel工作表_R_Excel - Fatal编程技术网

如何在R中将不同的类写入一个excel工作表

如何在R中将不同的类写入一个excel工作表,r,excel,R,Excel,我有一组包含R中字符和数字的数据。我知道我不能将它们保存在数据框中,因为列必须具有相同的类型。因此,我将它们保存在一个列表中 是否有办法将此列表保存到excel工作表中,以便将数字保存为数字,将字符保存为字符 我一直在使用XLConnect sa far,它适用于数据帧,其中的列包含所有数字或所有字符 提前谢谢 例如: 我有几个不同数量的测量值(我们称它们为a和b) 这些测量值可以是数字或“n.d.”(字符)。例如,3个测量值: 第一个:a=5,b=“n.d.” 第二:a=3,b=4 第三:a=

我有一组包含R中字符和数字的数据。我知道我不能将它们保存在数据框中,因为列必须具有相同的类型。因此,我将它们保存在一个列表中

是否有办法将此列表保存到excel工作表中,以便将数字保存为数字,将字符保存为字符

我一直在使用XLConnect sa far,它适用于数据帧,其中的列包含所有数字或所有字符

提前谢谢

例如:

我有几个不同数量的测量值(我们称它们为a和b)

这些测量值可以是数字或“n.d.”(字符)。例如,3个测量值: 第一个:a=5,b=“n.d.” 第二:a=3,b=4 第三:a=“n.d.”,b=“n.d.”

编辑:


罗兰给出的解决方案非常有效:

将数据框中缺少的值编码为NA,使列全部为数字。
然后使用
setMissingValue(wb,value=“n.d.”

在Excel工作表中将缺少的单元格设置为“n.d.”

非常感谢您的时间和帮助

给出了以下示例:

df=data.frame(a=c(5,'n.d.,'n.d.),b=c('n.d.,4,'n.d.)

你可以用

write.csv(df,file='data.csv')


然后您可以手动将CSV文件导入Excel。

罗兰给出的解决方案非常有效:

将数据框中缺少的值编码为NA,使列全部为数字。
然后使用
setMissingValue(wb,value=“n.d.”

在Excel工作表中将缺少的单元格设置为“n.d.”


非常感谢您的时间和帮助

数据帧只是一种特殊的列表,因此您应该能够在同一数据帧中同时包含字符和数字变量(只要它们位于不同的列中)。你能举例说明你的数据是什么格式的吗?这正是我的问题!我的数据由若干特定量的测量值组成,这些测量值可以给出一个数字或“n.d.”。因此,大多数情况下,我在同一列中都有数字和字符。与
“n.d.”
不同,您应该将缺少的值编码为
NA
,在R@Roland中可以是数字类型。我当然也想到了这个解决方案。然而,我更喜欢一种直接从R以最终格式执行的方式,并且不必在Excel中搜索和替换相应的单元格。我不使用XLConnect,但应该可以在
write.csv
中指定一个
na
字符串。对于R中缺少的值,使用任何与
NA
不同的方法都是自找麻烦。这就足够了,还是您想通过R实现所有自动化?我当然希望所有操作都通过R实现自动化,但如果没有办法,我可以通过csv采取额外的步骤。但是,我不确定这是否解决了我原来的问题,因为据我所知,数据框a和b的类型仍然必须相同,这将是最小公分母的字符…此外,我认为XLConnect包可以很好地将数据框直接保存在Excel表中。因此,我不认为通过csv的额外步骤是必要的