我有数据:

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"

谢谢。

最佳答案

如果只想重新格式化数量列并显示在xtable中,则需要为xtable提供一个数据框,仅提供一个列就使它看起来像字符向量。

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

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

print(evolutionxtable)

08-20 01:53