我有两个数据框,一个是任务的准确性,另一个是响应时间(RT)。我试图只获得正确试验的RT,而不是所有的试验。我已经做到了,因此准确度表中的错误试验显示为NA,当试图在RT表中创建相应的单元格NA时,我似乎得到了错误:
Error in `[<-.data.frame`(`*tmp*`, which(is.na(ACC)), value = NA) : new columns would leave holes after existing columns
代码相当简单 - 我已经尝试了随机生成的数据,它似乎工作得很好。代码如下:
ACC <- read_excel("PJ_ACC_TABLE.xlsx", sheet = 1)
RT <- read_excel("PJ_RT_TABLE.xlsx", sheet = 1)
ACC <- ifelse(ACC>0,1,NA)
RT[which(is.na(ACC))] <- NA
我的ACC表格如下:
虽然我的RT表看起来像:
我注意到在我更改ACC表以包含NA之后,它变成了一个向量。
任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
您可以使用此RT
为is.na(ACC)
编制索引。如果RT和ACC具有相同的维度,则此答案将起作用。
#example data
RT <-data.frame(matrix(1:25,ncol=5))
ACC <-data.frame(matrix(rep(1,25),ncol=5))
ACC[c(1,3,5),c(2,3,4)] <-NA
#Put NA in RT where ACC is NA
RT[is.na(ACC)] <-NA
RT
X1 X2 X3 X4 X5
1 1 NA NA NA 21
2 2 7 12 17 22
3 3 NA NA NA 23
4 4 9 14 19 24
5 5 NA NA NA 25