drop && !has.j 中的错误:使用 sum(complete.cases) Windows7 R3.2.1 时,'x && y' 中的 'x' 类型无效

2024-01-07

我对 R 编程和一般编程都很陌生。

这是我编写此脚本的目标:

  1. 我有 332 个 csv 文件。我想,“编写一个函数来读取充满文件的目录并报告每个数据文件中完全观察到的案例的数量。该函数应返回一个数据框,其中第一列是文件名称,第二列是完整案例数。”

  2. 函数概要如下:

    完整

        ## 'id' is an integer vector indicating the monitor ID numbers
        ## to be used
    
        ## Return a data frame of the form:
        ## id nobs
        ## 1  117
        ## 2  1041
        ## ...
        ## where 'id' is the monitor ID number and 'nobs' is the
        ## number of complete cases
    

    }

示例输出如下所示:

source("complete.R")
complete("specdata", 1)
##   id nobs
## 1  1  117

complete("specdata", c(2, 4, 8, 10, 12))
##   id nobs
## 1  2 1041
## 2  4  474
## 3  8  192
## 4 10  148
## 5 12   96
  1. 到目前为止我的脚本如下所示:

setwd("C:/users/beachlb/Desktop/R_Programming/specdata") #这是我的计算机上存储所有 332 个 csv 文件的本地目录

>complete <- function(directory, id = 1:332) {

>files_list <- list.files(directory, full.names=TRUE) #creates a list of files from within the specified directory

>dat <- data.frame() #creates an empty data frame that we can use to add data to

>for (i in id) {

>dat <- rbind(dat, read.csv(files_list[i]))  #loops through the 332 csv files, rbinding them together into one data frame called dat
  }

>dat$nobs <- sum(complete.cases(dat)) #add the column nobs to dat, populated with number of rows of complete cases in the dataframe

>dat_subset <- dat[which(dat[, "ID"] %in% id),] #subsets dat so that only the desired cases are included in output when function is run

>dat_subset[, "ID", "nobs"] #prints all rows of the desired data frame for the named columns}
  1. 当我按原样运行函数时,出现此错误:“drop && !has.j 中的错误:‘x && y’中的‘x’类型无效。我不确定是什么让我犯了这个错误。对于可能导致此错误的原因以及如何解决该错误的任何建议,我将不胜感激。向我指出我可以阅读的文献来研究这个问题和/或教程,这将帮助我加强避免此错误所需的编码技能,我也将不胜感激。

  2. 前言:我不确定是否应该在单独的线程中问这个问题。现在,我的函数被编写为填充所有行(所有 332 个文件)的完整案例总数,而不是专门计算给定监视器 ID 的完整案例数并将其仅放入该 ID 的列 nob 中。 (请注意,每个文件均以监视器 ID 命名,并且仅包含该监视器的案例,例如 001.csv = 监视器 1 的输出,002.csv = 监视器 2 的输出)。因此,我希望有人帮助我找到有关如何对数据进行子集化的资源,以便在填充 nobs 列时,nobs 列中的每一行给出每个 id 编号的完整案例数。


complete <- function(directory, id = 1:332) {
  files_list <- list.files(directory, full.names=TRUE)
  nobs <- c()
  for (i in id) {
    dat <- read.csv(files_list[i])
    nobs <- c(nobs, sum(complete.cases(dat)))
  }
  data.frame(id,nobs)
}

你很接近。但您不应该一次读入所有文件,然后找到完整的案例。它不会为您按 id 分隔结果。相反,我只是稍微编辑了你的代码。

Test

complete("specdata", c(2,4,8,10,12))
  id nobs
1  2 1041
2  4  474
3  8  192
4 10  148
5 12   96
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

drop && !has.j 中的错误:使用 sum(complete.cases) Windows7 R3.2.1 时,'x && y' 中的 'x' 类型无效 的相关文章

  • 如何计算数据框中按另一列的列值分组的一列的连续字符串值?

    我有以下数据框 Levels Labels Confidence 0 Hands 0 8 0 Leg 0 7 0 Eye 0 9 1 Ear 0 9 1 Eye 0 8 2 Hands 0 9 2 Eye 0 8 3 Eye 0 8 我想检
  • 在ggplot中设置y轴中断

    我在代码中设置中断时遇到困难 我尝试添加breaks seq 0 100 by 20 但似乎无法让它正常工作 本质上我希望 Y 轴从 0 到 100 每 20 个刻度一次 YearlyCI lt read table header T te
  • 增加雷达图中长轴标签的空间

    我想创建一个雷达图ggirahExtra ggRadar 问题是我的标签很长并且被剪掉了 我想我可以通过添加在标签和绘图之间创建更多空间margin margin 0 0 2 0 cm to element text in axis tex
  • 类型错误:此 COM 对象无法自动执行 makepy 过程 - 请为此对象手动运行 makepy

    这是什么错误 回溯错误 C Users DELL PycharmProjects MyNew venv Scripts python exe C Users DELL PycharmProjects MyNew agaaaaain py T
  • 如何根据 ggplot2 中的汇总数据创建堆积条形图

    我正在尝试使用 ggplot 2 创建堆积条形图 我的宽格式数据如下所示 每个单元格中的数字是响应的频率 activity yes no dontknow Social events 27 3 3 Academic skills works
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 如何在 R 中的 dygraph 标题中使用 UTF-8 字符

    使用 Rstudio Windows8 当我使用 dygraph 函数绘制时间序列时 在尝试在主标题中使用 UTF 8 字符时遇到问题 library dygraphs dygraph AirPassengers main T tulo 这
  • 如果 csv 存储为变量,如何使用 pandas read_csv() 方法?

    我正在尝试处理谷歌电子表格中的数据 将其读入 csv 然后使用 pandas read csv 将其作为数据框处理 我可以将 csv 读入变量 下面的变量 data 但不能在变量上使用 pandas read csv 我尝试使用 os cw
  • 扩展数据框以使其具有与原始行中两列的范围一样多的行[重复]

    这个问题在这里已经有答案了 我有一个数据框如下 structure list symbol c u n v i a start c 9L 6L 10L 8L 7L end c 14L 15L 12L 13L 11L Names c symb
  • Pandas 按唯一列值拆分数据框[重复]

    这个问题在这里已经有答案了 我有一个数据框正在输出到名为 所有数据 的电子表格中 假设此数据包含企业地址 街道 城市 邮政编码 州的列 但是 我还想为包含完全相同的列的每个唯一状态创建一个工作表 我的基本想法是使用迭代每一行df iterr
  • StatET调试工具

    我想我只是很密集 但我似乎无法弄清楚如何在 Eclipse 中的 R 中使用调试工具 StatET 插件 有人有关于这个主题的任何提示或教程吗 StatET 2 00 现在对高级 可视化调试提供实验性支持 需要 Eclipse 3 6 或
  • 在 C 中通过引用传递数组

    我是 C 新手 我有一个疑问 由于 C 函数创建其参数的本地副本 我想知道为什么以下代码按预期工作 void function int array array 0 4 array 1 5 array 2 6 int main int arr
  • 使用函数更改指针包含的地址

    如果我声明了一个指针p as int p 在主模块中 我可以更改包含的地址p通过分配p a where a是另一个已经声明的整型变量 我现在想通过使用以下函数来更改地址 void change adrs int q int newad q
  • 将整个包传递给雪簇

    我正在尝试并行化 使用snow parLapply 一些依赖于包 即除snow 调用函数中引用的对象parLapply必须使用显式传递给集群clusterExport 有没有办法将整个包传递到集群 而不必显式命名每个函数 包括用户函数调用的
  • ggplot2:带有 geom_line 的 x 轴因子不起作用

    我想要一个线图 其中value绘制为函数expt每级一行var 这是我的数据 lines lt expt var value 1 none p 0 183065327746799 2 none p 0 254234138384241 3 n
  • 安装 2.15 后 ggplot2 中的 alpha 通道不起作用

    更新到 R 2 15 后 ggplot 中的 alpha 通道似乎不再起作用 plot rnorm 100 rnorm 100 bg cc000055 pch 21 工作得很好但是 qplot rnorm 100 rnorm 100 col
  • 如何在R中分离两个图?

    每当我运行这段代码时 第一个图就会简单地覆盖前一个图 R中有没有办法分开得到两个图 plot pc title main abc xlab xx ylab yy plot pcs title main sdf xlab sdf ylab x
  • 更改绘图区域背景颜色

    我想使用我们公司的颜色在 R 中制作一个图表 这意味着所有图表的背景应为浅蓝色 但绘图区域应为白色 我正在寻找答案 发现绘制一个矩形就可以完成这项工作 几乎 然而 绘图区域现在是白色的 并且图形不再可见 这可能吗 getSymbols SP
  • 斯皮尔曼相关性和联系

    我正在一小组配对排名上计算斯皮尔曼的 rho 斯皮尔曼因处理领带不当而闻名 例如 取2组8个排名 即使两组中有6个是平局 相关性仍然很高 gt cor test c 1 2 3 4 5 6 7 8 c 0 0 0 0 0 0 7 8 met
  • 闪亮井板宽度

    library shiny library shinydashboard ui lt dashboardPage dashboardHeader dashboardSidebar dashboardBody wellPanel tags d

随机推荐