我目前不确定解决这个问题的最佳方法,因此如果有任何关于更有效方法的建议,我将不胜感激!

首先,以下是一些玩具数据:

data <- data.frame(
  "stim" = c("face", "object", " ", "pareidolia"),
  "RT" = c(23, 24, 22, 25),
  "Opac" = c(70, 60, 80, 65)
)

write.csv(data, "data.csv")

data <- data.frame(
  "stim" = c("face", "pareidolia", " ", "pareidolia"),
  "RT" = c(83, 24,52, 85),
  "Opac" = c(70, 87, 8, 6)
)

write.csv(data, "data.csv")

我目前正在阅读多个.CSV文件,如下所示:

library("tidyverse")
base :: setwd("filepath")
files <- base::list.files(
  path = ("filepath"), 
  recursive = TRUE,
  pattern = "*.csv"
)

然后,我将创建一个包含.CSV文件内容的收件箱列表,并删除与每个收件箱的刺激列中的空白单元格对应的行.然后,我从列表名称创建文件路径.

datalist <- lapply(files, read.csv)

with(datalist, subset(datalist, !("stim" == ""))) -> datalist

file_out <- paste0(names(datalist), ".csv")

最后,我try 将列表中的每个rame写入其自己的.CSV文件.

mapply(
  function(x, y) write_csv(x, y), 
  datalist, 
  file_out
)

问题是这个代码似乎不起作用.除了一个名为".CSV"的文件外,它不会输出任何.CSV文件,打开该文件时,我会看到一个错误,指出该文件不存在.有更好的方法来完成这个过程来实现预期的结果吗?太感谢了

推荐答案

首先制作要处理的文件.

data <- data.frame(
  "stim" = c("face", "object", " ", "pareidolia"),
  "RT" = c(23, 24, 22, 25),
  "Opac" = c(70, 60, 80, 65)
)

write.csv(data, "data1.csv")

data <- data.frame(
  "stim" = c("face", "pareidolia", " ", "pareidolia"),
  "RT" = c(83, 24,52, 85),
  "Opac" = c(70, 87, 8, 6)
)

write.csv(data, "data2.csv")

现在问题的问题.

  • 获得完整文件名(含list.files);
  • 对于每个文件名,lapply是一个匿名函数,用于读取数据、从列stim中删除所有不需要的空间、对data. framework进行子集并将其重写到磁盘.
files <- list.files(
  path = "~/Temp",
  pattern = "data.*\\.csv",
  full.names = TRUE
)

lapply(files,\(x) {
  df1 <- read.csv(x)
  df1$stim <- trimws(df1$stim)
  df1 <- subset(df1, stim != "")
  write.csv(df1, x, row.names = FALSE, quote = FALSE)
})

现在判断文件是否正确保存.

lapply(files, read.csv)
#> [[1]]
#>   X       stim RT Opac
#> 1 1       face 23   70
#> 2 2     object 24   60
#> 3 4 pareidolia 25   65
#> 
#> [[2]]
#>   X       stim RT Opac
#> 1 1       face 83   70
#> 2 2 pareidolia 24   87
#> 3 4 pareidolia 85    6

创建于2024年4月17日,共有reprex v2.1.0

R相关问答推荐

高质量地将R格式的图表从Word中输出

如何在ggplot 2线性图的每个方面显示每个组的误差条?

使用tidyverse方法绑定行并从一组管道列表执行左连接

Highcharter多次钻取不起作用,使用不同方法

如何利用模型函数在格图中添加双曲/指数曲线

S用事件解决物质平衡问题

计算满足R中条件的连续列

R:从geom_ol()中删除轮廓并导出为pdf

在使用tidyModels和XGBoost的二进制分类机器学习任务中,所有模型都失败

R中的类别比较

使用R将简单的JSON解析为嵌套框架

解析嵌套程度极高的地理数据

是否有可能从边界中找到一个点值?

随机 Select 的非NA列的行均数

将文本批注减少到gglot的y轴上的单个值

通过R:文件名未正确写入[已解决]将.nc文件转换和导出为.tif文件

R预测包如何处理ARIMA(Auto.arima函数)中的缺失值

按组使用dummy r获取高于标准的行的平均值

Broom.Mixed::Augment不适用于Sample::分析

将仪表板中的值框大小更改为Quarto