我在 R 中做了一些计算,我想像这样将它生成为 excel
DATA1 DATA2
54.364 2.05
56.532
54.21
41.485
65.8745
54.0546
75.156
而是像这样来
DATA1 DATA2
54.364 2.05
56.532 2.05
54.21 2.05
41.485 2.05
65.8745 2.05
54.0546 2.05
75.156 2.05
我在 excel 中生成它的功能是
write.xlsx(c(data.frame(DATA1),data.frame(DATA2)))
虽然
data1
值为 54.364、56.532、54.21、41.485、65.8745、54.0546、75.156 和 data2
2.05
最佳答案
Excel 有一个相当奇怪的“向下复制”功能,它将一个返回标量的函数复制到调用范围内的每个单元格中。看来这正在你这里发生。
解决此问题的一种方法是使用 Application.Caller
在直接调用的函数的顶部。这将返回 Range
表示调用范围的对象。然后你可以用 #N/A
填充你的函数返回值。 .你可以通过插入 variant
来做到这一点。类型到你的数组设置为VT_ERROR
并且错误值设置为 xlErrNa
.您可以使用 CVErr(xlErrNa)
一步完成。用 #N/A
填充与 Excel 对返回数组的函数的超大调用范围所做的匹配。
关于r - 如何在 Excel 中显示这种不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25542394/