我有一个15列的数据框,其中第一列是整数,其他是数字。我必须生成除最后一列之外的所有列的总和的单行摘要。我需要生成最后一列的平均值。所以,我正在做如下的事情:
summary <- c(sum(df$col1), ... mean(df$col15))
然后summary
出现的值最多为两位小数,即使对于整数列(第一列)也是如此。我一直在尝试使用round
函数来解决这个问题。我可以理解,当添加不同类型时,例如, 1 + 1.0
。但是,在这种情况下,总和不应该保持数据类型吗?
请让我知道我错过了什么?
答案 0 :(得分:1)
如果您正在寻找单行摘要:
public class main {
private static int retryCounter = 1;
private static int MAX_RETRIES = 3;
public static void main(String[] args) {
int retry = 1;
while (retry <= MAX_RETRIES) {
try {
//method1
//stuff code
//more code
//method2
int i=0;
while (i < 11) {
try {
System.out.println(i);
i++;
} catch (Exception e) {
e.printStackTrace();
i++;
if (i == MAX_RETRIES) {
System.out.println("Program retried" + retry);
System.out.println("Program Terminated");
}
}
}
retry++;
} catch (Exception e) {
e.printStackTrace();
retry++;
if (retry == MAX_RETRIES) {
System.out.println("Program retried" + retry);
System.out.println("Program Terminated");
}
}
}
System.out.println("-----Finish Process-----");
}
}
输出是一个保留每个向量类的数据框。如果您希望将输出添加到原始数据框,可以将lst <- c(lapply(df[-ncol(df)], function(x) sum(x)), mean=mean(df[,ncol(df)]))
as.data.frame(lst)
# int num1 mean
#1 10 6 2.5
替换为:
as.data.frame(lst)
如果您要获取所有整数列的总和以及数字列的平均值,请使用@ Frank的答案。
数据强>
names(lst) <- names(df)
rbind(df, lst)
答案 1 :(得分:0)
也许是对此的改编?
apply(iris[,1:4], 2, sum) / c(rep(1,3), nrow(iris))