You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R构建spotifyr加性模型时遇“invalid type (list)”错误求助

问题:构建Spotify音频特征加性模型时出现"invalid type (list) for variable"错误

错误原因

你在构建加性模型时,错误地将**已拟合完成的lm模型对象(dance_stat、energy_stat)**直接代入了lm()的公式中。lm()的公式参数要求传入的是数据框中的变量名,而不是模型对象——模型对象本质是包含大量信息的列表,这就是报错"invalid type (list) for variable"的核心原因。

正确解决方案

方案1:直接构建多变量加性模型(推荐)

如果你的目标是构建以tempo为因变量,danceability和energy为自变量的加性模型,不需要先单独拟合单变量模型,直接把两个自变量放入公式即可:

# 直接构建加性模型
add_model <- lm(tempo ~ danceability + energy, data = dream_stat_tidy)
summary(add_model)

方案2:用单变量模型的预测值构建新模型(若有特殊需求)

如果确实需要基于之前单变量模型的预测值来构建模型,需要先从lm对象中提取预测值,作为新变量加入数据框,再代入公式:

# 提取单变量模型的预测值,添加到数据框
dream_stat_tidy$dance_pred <- predict(dance_stat)
dream_stat_tidy$energy_pred <- predict(energy_stat)

# 用预测值构建模型
add_model <- lm(tempo ~ dance_pred + energy_pred, data = dream_stat_tidy)
summary(add_model)

额外修正:代码中的变量名错误

你之前的代码里还有一处小问题:拟合完dance_stat后调用了summary(dream_dance),但dream_dance并未定义,应该改为summary(dance_stat);同理summary(dream_energy)要改成summary(energy_stat)。

内容的提问来源于stack exchange,提问作者quincy_tabby_8

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 14:12:47