我正在使用R中包含的鸢尾花数据集。首先,我从物种列中使用“virginica”和“not virginica”创建了新数据,以便将不是virginica的每个物种都重命名:
data2 <- iris
data2$Species <- factor("virginica",levels=c("virginica","notvirginica"))
data2$Species[iris$Species!="virginica"] <- "notvirginica"
然后,当我尝试在下面的代码中创建代表所有维吉尼亚种的数据框时,在"object of type 'closure' is not subsettable"
中收到错误df(Species == "virginica", )
。virg <- df(df$Species == "virginica",)
从理论上我知道此错误的含义,但我看不到它如何适用于此行。我尝试将括号更改为方括号,并使用iris$Species == "virginica"
而不是df$Species == "virginica"
,但均无效。这是怎么回事? 最佳答案
您应该使用这些选项中的任何一个。对于子集,您可以使用[]
或subset()
函数。我不知道df
在哪里,如果您有data2
,而且()
的使用对于子集来说是不正确的:
#Code 1
virg <- data2[data2$Species == "virginica",]
#Code 2
virg <- subset(data2,Species == "virginica")
关于r - 在R中分配数据帧时,为什么会出现错误 “object of type '关闭'不能被子集化'的错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64916329/