如何从.txt文件中计算条件均值



我对编程还很陌生,正在寻求一些指导。感谢您的帮助。

以下是我要做的:我有大量来自认知实验的.txt文件(如果好奇的话,可以是Flanker任务(,我需要根据条件计算方法。文件没有标题,如下所示:

XXXXX 1 1 675
XXYXX 0 1 844
YYYY 1 1 599
1YYYY 0 1 902

我想根据实验条件(0或1;c2(计算毫秒(最右边的列;c4(的平均值。我还需要输出中包含的每个.txt文件的文件名(我的参与者ID(。

我对R最熟悉,但实际上只是用于数据分析。如果Python和Matlab(或其他东西(更适合我的需求,我也有一些经验。同样,任何方向的一点都将不胜感激。

感谢

Tidyverse软件包集合,特别是dplyr和readr,可以在语法类似的SQL上轻松完成这项任务。

类似的东西

#loading packages
library(tidyverse)
#importing data
df <- read_delim("file.txt", delim="|", col_names=c("col1", "col2", "col3", "col4"))
#dealing with data
#only mean for col2 == 1
df %>%
filter(col2 == 1) %>%
summarize(mean_exp = mean(col4))
#mean considering grouping by col2
df %>%
group_by(col2) %>%
summarize(mean_exp = mean(col4))

我可能建议你在上面的链接上搜索作弊单。它们非常容易理解和重现代码。

以下是如何在R:中做到这一点

# mimick your text files
cat("XXXXX 1 1 675",file="XXXXX.txt",sep="n")
cat("XXYXX 0 1 844",file="XXYXX.txt",sep="n")
cat("YYYYY 1 1 599",file="YYYYY.txt",sep="n")
cat("YYXYY 0 1 902",file="YYXYY.txt",sep="n")

# create a list
my_list_txt <- list.files(pattern=".txt")
files_df <- lapply(my_list_txt, function(x) {read.table(file = x, header = F)})
# create a dataframe
df <- do.call("rbind", lapply(files_df, as.data.frame))
# do the group calculation
library(dplyr)
df %>% 
group_by(V2) %>% 
summarise(mean = mean(V4))
V2  mean
<int> <dbl>
1     0   873
2     1   637

相关内容

  • 没有找到相关文章

最新更新