[R] Help: argument is not numeric or logical: returning NA
arun
smartpink111 at yahoo.com
Sun Jun 30 19:09:55 CEST 2013
Hi,
One problem with your example dataset is that you have 11 list
elements with the last one having different dimensions. I think it was
based on `summarized`.
Then, the second problem I encountered for testing is that the dataset you provided doesn't fulfill the criteria.
lst1<- list(structure(list......) #output of dput
lst2<- lst1[1:10] #deleted the last list element
lst3<-lapply(lst2,function(x)
{x$V3<- as.character(x$V3);x}) #here if I apply one of the
conditions, none of the list elements fulfill the criteria
#for example
lapply(lst3,function(x) subset(x,V1==6 & V6>300 & V6<3000,select="V6"))
#[1]]
#[1] V6
#<0 rows> (or 0-length row.names)
#
#[[2]]
#[1] V6
#<0 rows> (or 0-length row.names)
#
#[[3]]
#[1] V6
#<0 rows> (or 0-length row.names)
---------------------------------------------
#changed the V1 column
set.seed(24)
lst4<- lapply(lst3,function(x) {x$V1<- sample(c(0,3,6),nrow(x),replace=TRUE);x})
#I am skipping the first 2, ie. 'id' and 'iat.date' as the filenames were not provided.
res<-t(sapply(lst4,function(x)
{block4<-x[with(x,V1==3 & V6>300 &
V6<3000),"V6"];block7<- x[with(x,V1==6 & V6>300 &
V6<3000),"V6"];block4.m<- mean(block4);block7.m<-
mean(block7);block4.sd<-sd(block4);block7.sd<-
sd(block7);full<- x[with(x,(V1==3|V1==6) & (V6 >300) & (V6
<3000)),"V6"];full.sd<-
sd(full);diff1<-block7.m-block4.m;d<- diff1/full.sd;
c(block4.m,block4.sd,block7.m,block7.sd,diff1,full.sd,d) }))
colnames(res)<- c("block4.m","block4.sd","block7.m","block7.sd","diff1","full.sd","d")
Hope this helps.
A.K.
Hi,
I downloaded a psychological test off of github and it came with
a code for R to write the data into a .csv file. When I type the
following:
for(i in 1:length(data.list))
{
filename = strsplit(output.files[i],'-')
id = filename[[1]][2]
iat.date =
paste(filename[[1]][4],"-",filename[[1]][5],"-",filename[[1]][3],"
",filename[[1]][6],":",substr(filename[[1]][7],1,2),sep="")
block4.m = mean(subset(data.list[[i]], V1==3 & V6>300 & V6 < 3000, select="V6"))
block7.m = mean(subset(data.list[[i]], V1==6 & V6>300 & V6 < 3000, select="V6"))
block4.sd = sd(subset(data.list[[i]], V1==3 & V6>300 & V6 < 3000, select="V6"))
block7.sd = sd(subset(data.list[[i]], V1==6 & V6>300 & V6 < 3000, select="V6"))
full.sd = sd(subset(data.list[[i]], (V1==6 | V1==3) & V6>300 & V6 < 3000, select="V6"))
diff = block7.m - block4.m
d = diff / full.sd
summarized[i,] = c(id, iat.date, block4.m, block4.sd, block7.m, block7.sd, diff, full.sd, d)
}
I get the following errors/warnings:
Error in is.data.frame(x) :
(list) object cannot be coerced to type 'double'
In addition: Warning messages:
1: In mean.default(subset(data.list[[i]], V1 == 3 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
2: In mean.default(subset(data.list[[i]], V1 == 6 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
3: In mean.default(subset(data.list[[i]], V1 == 3 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
4: In mean.default(subset(data.list[[i]], V1 == 6 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
5: In mean.default(subset(data.list[[i]], V1 == 3 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
6: In mean.default(subset(data.list[[i]], V1 == 6 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
7: In mean.default(subset(data.list[[i]], V1 == 3 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
8: In mean.default(subset(data.list[[i]], V1 == 6 & V6 > 300 & V6 < :
argument is not numeric or logical: returning NA
Would anyone be able to help me with this problem? I am
relatively new to R, so I cannot seem to recognize exactly what the
problem is.
Thanks so much!
list(structure(list(V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(2L,
4L, 4L, 2L, 2L, 2L, 4L, 2L, 4L, 4L, 2L, 4L, 2L, 2L, 4L, 4L, 2L,
2L, 4L, 4L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(2L, 5L, 2L, 1L, 2L, 5L, 4L, 5L, 1L, 5L, 4L, 3L, 4L,
0L, 2L, 3L, 1L, 3L, 5L, 0L), V5 = c(1L, 0L, 1L, 0L, 1L, 1L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 1L, 0L, 1L),
V6 = c(598L, 95L, 142L, 83L, 143L, 167L, 32L, 129L, 31L,
136L, 2L, 142L, 23L, 160L, 105L, 144L, 64L, 152L, 71L, 129L
)), .Names = c("V1", "V2", "V3", "V4", "V5", "V6"), row.names = c(NA,
20L), class = "data.frame"), structure(list(V1 = c(0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L), V2 = 0:19, V3 = structure(c(2L, 4L, 2L, 4L, 2L, 4L, 2L,
2L, 2L, 4L, 4L, 4L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 4L), .Label = c("NEG",
"NON", "POS", "SUI"), class = "factor"), V4 = c(2L, 1L, 4L, 1L,
4L, 2L, 0L, 2L, 4L, 1L, 2L, 3L, 2L, 1L, 3L, 0L, 4L, 1L, 4L, 1L
), V5 = c(1L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 1L, 1L,
1L, 0L, 1L, 1L, 1L, 1L, 0L), V6 = c(878L, 145L, 112L, 104L, 112L,
96L, 112L, 168L, 192L, 112L, 192L, 200L, 200L, 199L, 32L, 201L,
176L, 200L, 224L, 120L)), .Names = c("V1", "V2", "V3", "V4",
"V5", "V6"), row.names = c(NA, 20L), class = "data.frame"), structure(list(
V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(4L,
4L, 2L, 2L, 4L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 2L, 4L, 2L, 4L,
4L, 2L, 2L, 2L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(5L, 2L, 1L, 3L, 1L, 0L, 1L, 5L, 1L, 3L, 2L, 3L, 4L,
0L, 4L, 2L, 4L, 0L, 5L, 0L), V5 = c(0L, 1L, 0L, 1L, 0L, 0L,
1L, 1L, 1L, 1L, 0L, 1L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L),
V6 = c(830L, 295L, 136L, 696L, 136L, 80L, 183L, 176L, 192L,
184L, 176L, 176L, 184L, 72L, 120L, 96L, 207L, 112L, 192L,
216L)), .Names = c("V1", "V2", "V3", "V4", "V5", "V6"), row.names = c(NA,
20L), class = "data.frame"), structure(list(V1 = c(0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L), V2 = 0:19, V3 = structure(c(4L, 2L, 2L, 4L, 2L, 4L, 2L,
2L, 4L, 2L, 4L, 4L, 2L, 2L, 4L, 4L, 4L, 2L, 4L, 4L), .Label = c("NEG",
"NON", "POS", "SUI"), class = "factor"), V4 = c(3L, 1L, 3L, 2L,
0L, 2L, 1L, 3L, 2L, 1L, 4L, 0L, 1L, 2L, 4L, 2L, 3L, 4L, 1L, 2L
), V5 = c(0L, 0L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 1L, 0L,
1L, 0L, 1L, 1L, 0L, 0L, 1L), V6 = c(1831L, 536L, 760L, 472L,
752L, 503L, 576L, 839L, 767L, 257L, 80L, 223L, 120L, 175L, 96L,
200L, 192L, 103L, 119L, 191L)), .Names = c("V1", "V2", "V3",
"V4", "V5", "V6"), row.names = c(NA, 20L), class = "data.frame"),
structure(list(V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(2L,
4L, 4L, 2L, 2L, 2L, 4L, 2L, 4L, 4L, 2L, 4L, 2L, 2L, 4L, 4L,
4L, 2L, 4L, 4L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(0L, 2L, 1L, 4L, 3L, 2L, 4L, 2L, 0L, 2L, 4L, 3L,
5L, 0L, 5L, 4L, 2L, 0L, 4L, 1L), V5 = c(1L, 0L, 1L, 0L,
1L, 1L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 0L, 1L, 1L, 0L,
0L, 1L), V6 = c(775L, 1648L, 303L, 160L, 296L, 272L,
72L, 184L, 80L, 232L, 184L, 88L, 160L, 231L, 88L, 224L,
232L, 152L, 72L, 256L)), .Names = c("V1", "V2", "V3",
"V4", "V5", "V6"), row.names = c(NA, 20L), class = "data.frame"),
structure(list(V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(2L,
2L, 2L, 2L, 4L, 4L, 4L, 4L, 2L, 4L, 2L, 4L, 4L, 2L, 2L, 4L,
2L, 2L, 4L, 2L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(4L, 2L, 4L, 3L, 1L, 4L, 3L, 0L, 3L, 2L, 3L, 4L,
0L, 3L, 4L, 3L, 2L, 1L, 3L, 0L), V5 = c(1L, 1L, 1L, 1L,
0L, 1L, 1L, 2L, 0L, 0L, 0L, 0L, 1L, 0L, 1L, 0L, 0L, 1L,
0L, 0L), V6 = c(991L, 312L, 271L, 409L, 176L, 280L, 360L,
735L, 248L, 208L, 152L, 167L, 295L, 159L, 393L, 199L,
135L, 257L, 151L, 112L)), .Names = c("V1", "V2", "V3",
"V4", "V5", "V6"), row.names = c(NA, 20L), class = "data.frame"),
structure(list(V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(4L,
4L, 2L, 2L, 2L, 2L, 4L, 4L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 4L,
4L, 4L, 4L, 4L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(0L, 2L, 4L, 0L, 2L, 0L, 3L, 2L, 3L, 0L, 2L, 3L,
1L, 0L, 4L, 1L, 4L, 1L, 3L, 1L), V5 = c(0L, 1L, 0L, 1L,
1L, 1L, 0L, 1L, 0L, 1L, 1L, 1L, 1L, 0L, 0L, 0L, 1L, 1L,
2L, 1L), V6 = c(3367L, 631L, 159L, 193L, 176L, 192L,
127L, 176L, 73L, 176L, 183L, 200L, 183L, 152L, 40L, 135L,
183L, 191L, 199L, 215L)), .Names = c("V1", "V2", "V3",
"V4", "V5", "V6"), row.names = c(NA, 20L), class = "data.frame"),
structure(list(V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(2L,
2L, 4L, 4L, 4L, 2L, 4L, 2L, 4L, 4L, 2L, 4L, 2L, 2L, 2L, 2L,
2L, 2L, 4L, 2L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(1L, 4L, 1L, 3L, 1L, 2L, 1L, 3L, 4L, 2L, 4L, 0L,
3L, 0L, 2L, 1L, 0L, 1L, 3L, 1L), V5 = c(1L, 1L, 0L, 1L,
1L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 1L, 1L, 1L,
0L, 0L), V6 = c(566L, 263L, 80L, 247L, 280L, 143L, 104L,
103L, 137L, 192L, 65L, 136L, 39L, 216L, 240L, 231L, 215L,
239L, 128L, 88L)), .Names = c("V1", "V2", "V3", "V4",
"V5", "V6"), row.names = c(NA, 20L), class = "data.frame"),
structure(list(V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(2L,
2L, 4L, 2L, 4L, 4L, 2L, 2L, 2L, 2L, 4L, 4L, 4L, 4L, 2L, 4L,
2L, 4L, 4L, 4L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(4L, 3L, 2L, 1L, 3L, 0L, 3L, 4L, 1L, 4L, 0L, 4L,
0L, 3L, 4L, 1L, 0L, 2L, 1L, 3L), V5 = c(1L, 1L, 0L, 0L,
0L, 1L, 0L, 1L, 0L, 0L, 0L, 0L, 0L, 1L, 0L, 0L, 0L, 0L,
0L, 0L), V6 = c(1910L, 311L, 272L, 96L, 328L, 376L, 159L,
352L, 1929L, 728L, 535L, 679L, 552L, 896L, 711L, 688L,
768L, 768L, 983L, 688L)), .Names = c("V1", "V2", "V3",
"V4", "V5", "V6"), row.names = c(NA, 20L), class = "data.frame"),
structure(list(V1 = c(0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L,
0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L), V2 = 0:19, V3 = structure(c(2L,
4L, 2L, 4L, 2L, 4L, 2L, 2L, 2L, 4L, 2L, 4L, 2L, 2L, 2L, 4L,
4L, 2L, 4L, 4L), .Label = c("NEG", "NON", "POS", "SUI"), class = "factor"),
V4 = c(4L, 0L, 3L, 4L, 0L, 1L, 3L, 2L, 0L, 4L, 3L, 2L,
1L, 3L, 2L, 1L, 0L, 4L, 2L, 3L), V5 = c(1L, 0L, 0L, 1L,
0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L, 0L, 1L, 1L, 0L, 1L, 0L,
0L, 1L), V6 = c(654L, 152L, 23L, 185L, 160L, 72L, 135L,
184L, 183L, 112L, 94L, 106L, 96L, 200L, 200L, 135L, 201L,
55L, 144L, 176L)), .Names = c("V1", "V2", "V3", "V4",
"V5", "V6"), row.names = c(NA, 20L), class = "data.frame"),
structure(list(V1 = c(NA, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L), V2 = structure(c(1L, 2L, 2L, 2L, NA, NA, NA,
NA, NA, NA, NA, NA), .Label = c("Id", "related"), class = "factor"),
V3 = structure(c(4L, 1L, 2L, 3L, NA, NA, NA, NA, NA,
NA, NA, NA), .Label = c("2013-06-999999 25:03", "2013-06-99999as5pt 27:22",
"2013-06-99999bJ1Td 25:19", "Date"), class = "factor"),
V4 = structure(c(1L, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), .Label = "Block4.m", class = "factor"),
V5 = structure(c(1L, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), .Label = "Block4.sd", class = "factor"),
V6 = structure(c(1L, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), .Label = "Block7.m", class = "factor"),
V7 = structure(c(1L, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), .Label = "Block7.sd", class = "factor"),
V8 = structure(c(1L, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), .Label = "diff", class = "factor"), V9 = structure(c(1L,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), .Label = "full.sd", class = "factor"),
V10 = structure(c(1L, NA, NA, NA, NA, NA, NA, NA, NA,
NA, NA, NA), .Label = "d", class = "factor")), .Names = c("V1",
"V2", "V3", "V4", "V5", "V6", "V7", "V8", "V9", "V10"), row.names = c(NA,
12L), class = "data.frame"))
More information about the R-help
mailing list