2011-12-28 75 views
3

我拥有的数据:R:格式化位数xtable

transaction <- c(1,2,3); 
date <- c("2010-01-31","2010-02-28","2010-03-31"); 
type <- c("debit", "debit", "credit"); 
amount <- c(-500, -1000.97, 12500.81); 
oldbalance <- c(5000, 4500, 17000.81) 
evolution <- data.frame(transaction, date, type, amount, oldbalance, row.names=transaction, stringsAsFactors=FALSE); 
evolution$date <- as.Date(evolution$date, "%Y-%m-%d"); 
evolution <- transform(evolution, newbalance = oldbalance + amount); 
evolution 

如果我想在amount刚好等于1位小数来创建数字表,做这样的命令?

> tab.for <- formatC(evolution$amount,digits=1,format="f") 
> tab.lat <- xtable(tab.for) 
Error in UseMethod("xtable") : 
    no applicable method for 'xtable' applied to an object of class "character" 

谢谢。

回答

6

如果您只想重新格式化数据列并将其显示在xtable中,那么您需要为数据框提供xtable,只需提供一列即可使其看起来像一个字符向量。

evolution$tab.for <- formatC(evolution$amount,digits=1,format="f") 

evolutionxtable<-xtable(subset(evolution, select=c(date, type, tab.for))) 

print(evolutionxtable)