本页面所述的功能现已在我们的全新 Pro 和 Enterprise 订阅中提供。了解更多... |
Prism 的多变量表格现已支持表内变量公式,您可以通过编写函数或转换表达式来引用同一表格中的其他变量,从而创建新的计算变量。如果您曾使用过 Excel 或 Google 表格中的计算列,这会让您感到非常熟悉,但存在一些重要差异,这些差异使得这些转换更加可靠且更易于维护。
与引用特定单元格范围的电子表格公式不同,Prism 的公式可一次性作用于整个变量。您只需通过公式定义来设定变量值的计算方式,Prism 便会自动将该公式应用于每一行。这种数据库式的处理方式意味着,当您添加、删除或修改数据时,计算变量的值会自动更新,您再也不必担心忘记将公式向下复制。

何时使用表内公式
当您需要在分析前从现有数据中推导出新变量时,表内公式是理想的选择。常见应用包括单位转换(例如将英寸单位的身高转换为厘米单位)、计算各项测量值之间的比率(如腰臀比)、应用数学转换进行统计分析(例如对偏斜度数据进行对数转换),或根据原始测量值计算衍生值(例如根据身高和体重计算体重指数)。
您定义的计算变量将成为数据表结构的一部分。当更新源数据时,所有计算值都会自动重新计算。这使得表内变量公式在接收周期性批量数据或需要在多个项目中保持一致的衍生变量集时尤为有用。
数据检查器面板
当您处理多变量数据表时,窗口右侧会显示“数据检查器”面板。如果未显示,只需点击 Prism 窗口右下角的“显示/隐藏检查器面板”切换按钮即可打开。

当您在表格中选中某个变量时,数据检查器会显示该变量名称以及一个标有“输入计算变量的公式”的按钮。通过变量名称字段,您可以直接在检查器中重命名该变量。当您需要依次设置多个新的转换变量时,此功能非常实用。
请注意,您也可以在选中已包含数据的变量后点击“输入计算变量的公式”按钮。但由于这会导致表格中当前的值被清空,Prism 会显示一条提示,先确认您是否要继续。
创建计算变量
要通过表内公式创建计算变量,您有多种选择。最直接的方法是在数据表中选定一个用于输出计算结果的空变量,然后在“数据检查器”面板中点击“输入计算变量的公式”。 此外,您也可以直接在数据表中点击该变量,然后按下等号(=)键。此快捷键会立即打开公式定义视图,让您无需额外点击即可开始输入公式。一旦您熟悉了该功能,这便是最高效的操作方式,且其行为与您在 Excel 或 Google 表格中可能已熟悉的操作方式一致。

如果您选择的变量已包含数据,Prism 会在创建新计算变量前发出提示。此安全措施可防止您意外覆盖手动输入的数据。如果您仍要继续操作,可以确认是否要用计算结果替换现有值。
公式定义视图
当您选择为计算变量创建或编辑公式时,数据检查器将切换至公式定义模式。顶部显示变量名称字段,其工作方式与标准检查器视图中相同。下方是公式定义字段,用于确定值的计算方式。
公式定义字段支持使用标准数学符号编写公式。您可以通过字母标识(A、B、C 等)引用其他变量,使用加、减、乘、除等算术运算符,并调用 Prism 函数库中的函数。

引用变量
在公式定义字段下方,您会看到“可用变量”部分。此处列出了数据表中除当前正在定义的变量以外的所有变量。 每个变量均显示其字母标识(即在公式中引用该变量的方式)、类型(连续型或分类型)及其名称。在公式中,字母标识才是关键。您应输入“A + B”或“COS(C)”等形式,而非直接使用变量名称。
变量列表顶部设有搜索栏,可用于按变量名称进行筛选。当数据表中变量众多且您需要查找特定指标时,此功能尤为实用。找到所需变量后,双击即可将其添加到公式定义中。
使用函数
“可用函数”部分列出了所有可集成到转换中的数学和统计函数。该列表按字母顺序排列,涵盖从绝对值、平方根等基本运算,到三角函数、对数及条件逻辑等各类函数。
点击列表中的某个函数,该部分将展开并显示关于该函数的详细文档。您将看到函数的功能说明、准确展示书写方式的语法、所需的参数、演示其使用的实际示例,以及面向熟悉 Excel 和 R 环境用户的等效函数。这种内联文档意味着您几乎无需离开转换定义视图即可查询函数的工作原理。
例如,若点击 COS(x),您将看到该函数返回角度的余弦值,需要一个参数(以弧度为单位的角度),并包含示例说明 COS(0) 等于 1 以及 COS(RAD(90)) 等于 0。文档还指出,该函数等同于 Excel 中的 COS(x) 和 R 中的 cos(x)。

为创建的变量编写公式
定义计算变量的公式遵循数学惯例,如果您之前写过电子表格公式,应该会觉得很自然。您可以使用标准运算符,包括 + 表示加法、- 表示减法、* 表示乘法、/ 表示除法以及 ^ 表示幂运算。圆括号控制运算顺序,就像在代数中一样。
一个简单的转换公式可能像“A * 2.54”这样将英寸转换为厘米,或者像“A / B”这样计算比率。更复杂的转换可以串联多个运算和函数:例如“LOG(A) + SQRT(B)”,或者用于条件计算的“IF(A > 100, A/100, A)”。 关键在于,公式会对整个变量按行逐行进行运算。Prism 会自动将您定义的任何计算应用于每一行的值。
常见转换示例
单位转换非常简单。要将身高从英寸(变量 G)转换为厘米,只需输入“G * 2.54”;要将体重从磅(变量 H)转换为千克,只需输入“H / 2.205”。 您还可以将单位转换与其他计算结合,例如根据英寸单位的高度和磅单位体重计算体重指数:"H / 2.205 / ((G * 2.54 / 100) ^ 2)"。
比率计算同样简单。如果变量 A 包含腰围,变量 B 包含臀围,那么腰臀比就是“A / B”。对于可能涉及求和或求差的更复杂的比率,您可以写成“(A - B) / (A + B)”来计算标准化差值。
统计分析中的数学转换通常使用函数。要对变量 C 进行对数转换,您可以写 "LOG(C)" 表示十进制对数,或写 "LN(C)" 表示自然对数。要对变量 D 进行平方根转换,则写 "SQRT(D)"。 对于逆变换,您可以写“1/E”或使用幂运算如“E^(-1)”。
条件计算使用 IF 函数。其语法为“IF(条件, 真值, 假值)”。例如,若要将数值上限设为 100,可写为“IF(A > 100, 100, A)”。 用通俗语言解释即:“如果 A 的值大于 100,则返回 100;否则返回 A 的原始值。”若要对连续值进行分类,可编写“IF(A < 50, "Low", "High")”来创建二分类变量。 您还可以嵌套 IF 函数以创建更多类别:“IF(A < 50, “Low”, IF(A < 75, “Medium”, “High”))” 即可创建三个类别。
提交和应用公式
在定义字段中编写完公式后,按 Enter 键或点击字段右侧的勾选按钮即可提交。Prism 会立即将公式应用于表格中的每一行,并根据您的定义计算数值。如果公式存在任何问题(例如引用了不存在的变量或错误使用了函数),Prism 会显示错误消息并提醒您,而非提交该公式。
公式提交后,您将在数据表中看到计算结果。这些值以斜体显示,使其与手动输入的数据一目了然。斜体格式能让您立即分辨出哪些列包含计算结果,哪些列包含原始观测值。
该公式现已成为变量定义的一部分。如果您编辑了公式所引用的任何源变量的值,计算变量的值将自动更新。如果您向表格中添加新行,公式也会应用于这些行。这种自动更新是相较于复制计算值的一大关键优势:您的派生变量始终与源数据保持同步。
编辑现有公式
您可以随时返回公式定义界面修改公式。当您选中带有转换的变量时,数据检查器会显示“编辑计算变量的公式”而非“输入计算变量的公式”。点击此按钮即可返回公式定义视图进行修改。

还有两种其他方法可以访问现有转换的公式定义。您可以点击任何已定义转换的变量顶部出现的小“fx”图标。该图标作为视觉指示,表明该变量包含计算值,并可快速访问公式。 您还可以像创建新变换一样,点击变量中的任意值并按下等号 (=) 键。无论您是在创建还是编辑变换,此快捷方式均可使用,因此它是一种通用的访问定义视图的方法。

当您修改转换公式时,Prism 会在您提交更改后立即重新计算所有值。无需手动刷新或重新计算。只要您按下 Enter 键或点击勾号,更新就会自动进行。
错误处理
当计算变量或公式出现问题时,Prism 会提供清晰直观的视觉反馈。数据表中存在错误的变量会以红色高亮显示,确保您不会遗漏。在变量顶部,您会在变量名称旁边看到一个黄色的警告符号。此外,在“数据检查器”面板中,Prism 会显示特异性错误信息,说明问题所在。

常见错误包括引用无数据的变量(例如,当表格中仅包含 A 到 R 变量时,在公式中使用“Z”)、产生循环引用(即变量的公式直接或间接引用自身)、错误使用函数(例如提供错误的参数个数)以及引用已被删除的变量。每种情况都会产生清晰的错误信息,帮助您识别并解决问题。
循环引用值得特别关注,因为它们可能难以察觉。直接循环引用显而易见:变量 L 的公式不能引用 L 本身。但间接循环引用可能发生在 L 引用 M、M 引用 N、而 N 又引用 L 的情况下。Prism 会检测到这些循环依赖度,并通过错误消息进行标记,从而防止无限计算循环。
当您删除其他公式所依赖的变量时,Prism 不会自动删除这些依赖公式。相反,它会将它们标记为存在错误。这使您有机会修改公式以引用其他变量,或者如果这些公式不再需要,则将其完全删除。这种方法可防止数据丢失——如果您不小心删除了某个变量,可以撤销删除操作,依赖公式将立即恢复正常工作。
公式计算变量与手动输入数据的区别
需要明确的是,一个变量只能包含手动输入的数据或计算得出的数据,而不能同时包含两者。当您为变量定义公式后,该变量将完全由计算生成。您无法直接编辑其中的单个单元格。更改值的唯一方法是修改公式,或更改转换所引用的源变量中的数值。
这一限制实际上是一种功能而非局限。它避免了电子表格中可能出现的模糊情况——即部分单元格包含公式而另一些包含手动编辑,导致无法明确区分值是计算得出的还是手动输入的。在 Prism 中,如果看到斜体文本,就知道它是计算得出的;如果没有,那就是手动输入的。绝无歧义。
如果您需要将计算值转换为手动数据(可能是为了锁定当前的计算值,或者需要进行手动调整),您可以删除公式而不删除数值。要做到这一点,只需右键单击该变量并选择“取消链接计算变量”。这为您提供了一种简便的方法,可以在需要时“冻结”计算变量,同时保留您的工作成果。

最佳实践
在使用表内公式时,以下几点做法有助于您保持清晰、可靠的分析。首先,使用描述性变量名称。当您有多个相关变量(例如以英寸、厘米和米为单位的高度)时,清晰的名称能明确区分它们。“Height_in”、“Height_cm”和“Height_m”有助于消除变量之间的模糊拟合。
其次,尽可能保持公式简洁。虽然您可以编写包含嵌套函数和多重运算的复杂公式,但简单的公式更易于理解和验证。如果您发现自己正在编写非常复杂的公式,请考虑是否可以将其拆分为多个中间公式定义。例如,与其使用一个公式直接根据英寸身高和磅体重计算 BMI,不如分别创建计算米制身高和公斤体重的公式,然后基于这些结果计算 BMI。 最终结果虽相同,但中间步骤更易于验证。
最后,请通过几个测试案例验证您的公式。在使用公式生成计算变量后,请手动计算几行数据的期望值,并检查 Prism 的计算值是否与之匹配。这可以在公式错误影响整个分析之前将其发现。在创建复杂公式或处理可能因错误导致严重后果的数据时,这一点尤为重要。
转换与分析
转换后的变量在“多变量”表中的运作方式与任何其他变量完全相同。在任何使用“多变量”表的分析中,您都可以将其用作自变量、因变量或分组变量。在设置分析时,Prism 不会区分手动输入的数据和计算得出的数据,它们都只是变量。
这意味着您可以专门为分析创建转换变量,而不会弄乱原始数据。需要对 t 检验进行对数转换的数据?使用公式生成一个计算变量。想要同时分析原始值和标准化值?分别创建这两个变量并运行独立的分析。这种无需修改原始数据或维护单独电子表格即可即时生成衍生变量的灵活性,将简化您的分析工作流程。
当您共享项目文件或导出结果时,公式定义也会一并包含。任何打开项目文件的人都会看到相同的计算值,且公式将在“数据检查器”中显示。这确保了您的分析流程透明且可重现。其他用户可以清楚地看到您是如何推导出这些变量的,并在需要时修改公式。