我正在尝试运行一个线性模型,但只针对特定的一组受访者。我在网上找到了示例代码,上面说要使用gapminder函数来隔离一组受访者。在这里,我只想在party列中包括值为1的受访者。我遵循了我在网上找到的示例代码,
library("tidyverse")
library("gapminder")
dems <- filter(gapminder,
+ dfp_clean$party == 1)
dem_model <- lm(scale_masc_index ~ ice, data = dems)
summary(dem_model)
但是我一直收到这个错误
Error: Problem with `filter()` input `..1`.
x Input `..1` must be of size 1704 or 1, not size 17723.
ℹ Input `..1` is `+dfp_clean$party == 1`.
我试着跑步
rlang::last_error()
来查看错误发生的位置,但它说的是和以前一样的事情。
发布于 2021-08-05 16:14:21
在您的filter函数中,您的输入并不完全正确。
它应该看起来像这样:
dems <- filter(gapminder, party == 1)
发布于 2021-08-05 18:34:46
是否希望您的dems数据帧包含dfp_clean数据帧中的行?如果是这样,那么它应该是filter函数中的第一个参数。
library("tidyverse")
dems <- filter(dpf_clean, party == 1)
filter函数假设party是dpf_clean数据帧中的一列(或者您放在第一个参数中的任何内容),因此运行以下代码将返回相同的结果:
library("tidyverse")
dems <- filter(dpf_clean, dpf_clean$party == 1)
如果这不起作用,可能是因为您的dpf_clean数据帧没有可以用来筛选行的"party“列。如果您键入:
colnames(dpf_clean)
您可以获得该数据帧中所有列的列表。如果party出现在列表中,代码应该可以工作。
gapminder包看起来只包含数据,而不包含任何函数,因此您似乎不需要该包来运行这行代码。也许您正在查看的教程正在使用
https://stackoverflow.com/questions/68670083
复制相似问题