【发布时间】:2016-11-18 04:53:27
【问题描述】:
我的 MATALB 表看起来像:
table_variables =
Meas Group1 Group2 Subject_id Age Sex Var1 Var2
___ _____ _____ __________ ___ ________ ____ ____
1 'A' '0' 1 60 'Male' 48 150
2 'A' '0' 1 60 'Male' 47 100
3 'A' '0' 1 60 'Male' 48 90
4 'A' '0' 1 60 'Male' 38 250
1 'A' '3' 2 50 'Male' 50 450
2 'A' '3' 2 50 'Male' 43 150
3 'A' '3' 2 50 'Male' 45 100
...
...
1 'B' '2' 900 66 'Female' 66 170
2 'B' '2' 900 66 'Female' 68 110
3 'B' '2' 900 66 'Female' 70 250
对于每个受试者,变量 Var1 和 Var2 都有多个测量值。如何创建一个包含每个主题平均值的新表?请假设我有超过 2 个变量,所以代码:
mean_var1 = varfun(@mean,T,'InputVariables','Var1',...
'GroupingVariables','Subject_id')
mean_var2 = varfun(@mean,T,'InputVariables','Var2',...
'GroupingVariables','Subject_id')
【问题讨论】:
-
只需在表格列上使用
mean函数,例如mean( tablename.Var1 ). -
嗨 Mattihias,我很抱歉...我只是在更新我的问题...有没有办法同时为所有变量执行此操作(定义分组变量)
-
提供的代码有什么问题?
-
它有效,但是如果我有 100 个变量来取平均值,我不想为每个变量都这样做...我想知道是否还有其他方法..
-
@gabboshow - 你有Database Toolbox 吗?使用 SQL 可能很容易做到这一点。 (...甚至可能使用一些有创意的 Excel)。
标签: matlab