2015-02-17 71 views
2

您好我有一个来自dicember的数据框。我有一个成本(R类内的类)的列。R/Excel:以正确的格式输出一列,以优于

当出口到Excel时,我必须把正确的格式(如金钱或数量)。但问题是,在Excel中我看到:170997.6 - 应该是:17,099.76。

当我申请格式“硬币(西班牙语的Moneda)”,结果是:170,997.60(错误的总数)。

有没有办法从R中以正确的格式输出这些数字?或者如何在Excel中正确执行此操作?

 date Mes   Goal Fuentes GoalsCompletions ad.cost 
1 2014-12-01 diciembre Vida Directo  0    0.00 
2 2014-12-01 diciembre Vida Campa�as  0    0.00 
3 2014-12-01 diciembre Vida Referencias 1    0.00 
4 2014-12-01 diciembre Vida SEO   1    0.00 
5 2014-12-01 diciembre Vida Email   0    0.00 
6 2014-12-01 diciembre Vida RRSS   3    48.39 
7 2014-12-01 diciembre Vida Adwords  3    726.70 
8 2014-12-02 diciembre Vida Directo  0    0.00 
9 2014-12-02 diciembre Vida Campa�as  2    36.79 
+0

你确定你有R中正确的数量?首先检查R中的数据,然后导出为'.csv'。 – User7598 2015-02-17 21:25:33

+0

@ User7598,数据是正确的。问题在于格式化时。在“,”之前应该只有2个数字,但在excel中,我会在“,”之前看到3个数字。我想知道它是否应该在R或Excel本身中执行。 – 2015-02-17 21:28:00

+0

如果数据在R中是正确的并且如果使用文本编辑器打开时是正确的,则听起来像是excel中的问题。 – User7598 2015-02-17 21:29:32

回答

1

对于我以下(在R)工作:

数据

(I添加用于说明几个不同的号码)

df <- read.table(header=T, text='  date Mes   Goal Fuentes GoalsCompletions ad.cost 
1 2014-12-01 diciembre Vida Directo  0    0.00 
2 2014-12-01 diciembre Vida Campanas  0    0.00 
3 2014-12-01 diciembre Vida Referencias 1    17099.76 
4 2014-12-01 diciembre Vida SEO   1    1233.45 
5 2014-12-01 diciembre Vida Email   0    1000.00 
6 2014-12-01 diciembre Vida RRSS   3    48.39 
7 2014-12-01 diciembre Vida Adwords  3    726.70 
8 2014-12-02 diciembre Vida Directo  0    0.00 
9 2014-12-02 diciembre Vida Campanas  2    36.79') 

#formatting with prettyNum to show as you want 
df$ad.cost <- prettyNum(df$ad.cost, big.mark=',', scientific=F) 

#write xlsx with the write.xlsx function of the xlsx package 
library(xlsx) 
write.xlsx(df, 'test.xlsx') 

的输出是作为你希望它是(包括你在你的问题中引用的数字)。

(在Excel中列将是一个字符,它根据你正在尝试做的,你可能需要转换回数字)

enter image description here

+0

我把它转换回来:''df $ ad.cost < - as.numeric(prettyNum(df $ ad.cost,big.mark =',',scientific = F))' – 2015-02-17 21:40:38

+0

''' prettyNum'函数是一个字符串,我假设你需要首先使用'gsub'去除逗号,然后使用'as.numeric'将它转换回数字(但是如果你在R中工作的话)。你需要导出它作为字符,虽然这样的输出在Excel中将是正确的。如果你输出它作为数字,那么你可能会再次面临同样的问题。 – LyzandeR 2015-02-17 21:50:19

+0

好吧,生病尝试,我需要与这些列进行数学运算..谢谢,LyzandeR 。 – 2015-02-17 21:54:05