我想在数据帧上使用apply函数,但只将函数应用于最后5列.
B<- by(wifi,(wifi$Room),FUN=function(y){apply(y, 2, A)})
Run Code Online (Sandbox Code Playgroud)
这将A应用于y的所有列
B<- by(wifi,(wifi$Room),FUN=function(y){apply(y[4:9], 2, A)})
Run Code Online (Sandbox Code Playgroud)
这仅适用于Y的第4-9列,但是B的总返回距离前3列......我仍然想要那些,我只是不希望A应用于它们.
wifi[,1:3]+B
Run Code Online (Sandbox Code Playgroud)
也没有做我期望/想要的.
我正在寻找用于聚集数组的聚集函数的sql模式。如果我有2行:
|id | array |
|----+---------------|
|1 | [1,2,3,4] |
|1 | [5,6] |
|1 | [7,8] |
|--------------------|
Run Code Online (Sandbox Code Playgroud)
我要执行以下操作:
select id, *aggregate_function*(array)
from table
group by id
我希望结果是:
|id | *aggregate_function* |
|-----+-----------------------|
|1 | [1,2,3,4,5,6,7,8] |
|-----------------------------|
Run Code Online (Sandbox Code Playgroud)
没有本机的postgres函数执行此聚合。但是也许这里可以使用sql模式?