【问题标题】:Value in cell saved as list? Error in FUN(X[[i]], ...) : object 'X' not found单元格中的值另存为列表? FUN(X[[i]], ...) 中的错误:找不到对象“X”
【发布时间】:2023-12-05 19:09:01
【问题描述】:

我正在尝试使用count()计算一个类别中的观察次数,导致以下错误:

count(Data$Condition, c('Low'))

FUN(X[[i]], ...) 中的错误:找不到对象“低”

但是,当我请求返回此列中的所有值时,我得到以下响应:

Data$Condition


[1] Medium Low    Low    Medium High   Zero   High   Low    High   Zero   Medium Zero   High   Low    Medium
[16] Medium Zero   Low    High   Medium Zero   High   Low    Medium High   Zero   Low    Medium High   Zero  
Levels: High Low Medium Zero

因此,R 应该能够检索“低”值的计数。

我做错了什么?该类别已定义为:

Data$Condition <- as.character(Data$Condition)

同样奇怪的是,当我将数据框导出到 csv 时,对于 Excel 中的每个单元格(观察值),该列(Data$Condition)被视为如下:

c(“高”、“高”、“高”、“低”、“高”、“中”、“低”、“中”、 “低”、“中”、“中”、“中”、“中”、“中”、“中”、 “中”、“中”、“低”、“中”、“低”、“高”、“低”、“中”、 “中”、“高”、“高”、“中”、“中”、“中”、“中”)

在R中,dataframe的这一列正常显示;因此,对于每个观察结果,例如,都有“低”或“中”,而不是 Excel 中显示的每个单元格中所有观察结果的完整列表。

那么,我是否不小心将此列保存为列表或每个值的其他内容?

【问题讨论】:

    标签: r function count


    【解决方案1】:

    您使用的语法不正确。我认为您正在尝试从plyr 使用countplyr 已退休,最好切换到dplyr。在dplyr,你可以这样做:

    library(dplyr)
    
    Data %>% dplyr::count(Condition) %>% filter(Condition == 'Low')
    

    【讨论】: