我有多个csv,每个csv包含多个变量的一个参与者的多个观察结果。让我们说每个csv文件看起来如下所示,文件名称表示参与者的ID:
data.frame(
happy = sample(1:20, 10),
sad = sample(1:20, 10),
angry = sample(1:20, 10)
)
我在一个优秀的stackoverflow答案中找到了一些代码,它允许我访问保存到特定文件夹中的所有文件,计算这些情感的总和,并将它们输出到文件中:
# access all csv files in the working directory
fileNames <- Sys.glob("*.csv")
for (fileName in fileNames) {
# read original data:
sample <- read.csv(fileName,
header = TRUE,
sep = ",")
# create new data based on contents of original file:
data.summary <- data.frame(
File = fileName,
happy.sum = sum(sample$happy),
sad.sum = sum(sample$sad),
angry.sum = sum(sample$angry))
# write new data to separate file:
write.table(data.summary,
"sample-allSamples.csv",
append = TRUE,
sep = ",",
row.names = FALSE,
col.names = FALSE)}
但是,我只能得到&#34;总和&#34;在这个功能中工作。我想不仅要找到每个参与者的每种情感的总和,还要找到每个参与者的最大值。
当我尝试修改上述内容时:
for (fileName in fileNames) {
# read original data:
sample <- read.csv(fileName,
header = TRUE,
sep = ",")
# create new data based on contents of original file:
data.summary <- data.frame(
File = fileName,
happy.sum = sum(sample$happy),
happy.max = max(sample$happy),
sad.sum = sum(sample$sad),
angry.sum = sum(sample$angry))
# write new data to separate file:
write.table(data.summary,
"sample-allSamples.csv",
append = TRUE,
sep = ",",
row.names = FALSE,
col.names = FALSE)}
我收到以下警告消息: 在max(示例$ happy)中:max没有非缺失参数;返回-Inf
真诚地感谢任何人可以给我的建议!
答案 0 :(得分:1)
使用您的测试数据,max()语句对我来说很好。它与您发布的示例代码和实际的csv文件结构之间的差异有关吗?