这个问题是我发布的上一个问题的延续,但是当我进行分组时,我意识到这个问题失败了。 link
如果交易发生在特定时间段内,我需要计算值变量的平均值,按客户端和符号分组。
我的尝试:
library(data.table)
client_id <- c("A", "A", "B", "B", "B", "B", "B", "A", "A", "B", "B")
value <- c(10, 35, 20, 30, 50, 40, 30, 40, 30, 40, 10)
period_30 <- c(1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0)
period_60 <- c(1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0)
sign <- c("D", "D", "D", "D", "C", "C", "C", "D", "D", "D", "D")
test <- data.frame(client_id, value, period_30, period_60, sign)
result <- setDT(test)[, lapply(.SD, function(i) {ifelse(1 %in% i, mean(test$value), 0)}),
.SDcols = period_30:period_60,
by=.(client_id, sign)]
上面的代码我得到的结果是无稽之谈,但我相信我走在正确的轨道上。我只是不确定如何修复ifelse语句。
预期结果为
Client ID average_value_period30 average_value_period60
A 22.5 29
任何?
答案 0 :(得分:2)
我们需要
public class triangle {
public static void main ( String arg[] ){
System.out.print("Enter Triangle Size : ");
int num=0;
try{
num=Integer.parseInt( read.readLine() );
} catch(Exception Number){
System.out.println("Invalid Number!");
}
for(int i=1;i<=num;i++){
for(int j=1;j<num-(i-1);j++){
System.out.print(" ");
}
for(int k=1;k<=i;k++){
System.out.print("*");
for(int k1=1;k1<k;k1+=k){
System.out.print("*");
}
}
System.out.println();
}
}
}