[R] Object of type 'closure' not subsettable

Muhammad Rahiz muhammad.rahiz at ouce.ox.ac.uk
Mon Dec 21 14:43:44 CET 2009


Thanks Barry for the clarification.

With regards to the following;

d2[[i]] <- file[[i]] - mean

renamed to

d2[[i]] <- f[[i]] - m

The object f contains the following so clearly f is subsettable

[[1]]
  V1
1 10
2 10
3 10

[[2]]
  V1
1 11
2 11
3 11

[[3]]
  V1
1 12
2 12
3 12

My plan is to subtract m from each subset of f and to store the output 
as each individual subsets. So,

output1 <- f[[1]] - m
output2 <- f[[2]] - m
output3 <- f[[3]] - m

If I run the following to achieve the desired result, there is an error 
as written in the subject heading.

d2[[i]] <- f[[i]] - m

If I run the following, the error is gone but I'm not getting the output for each individual file I require

d2 <- f[[i]] - m

The issue is, how do I make d2 subsettable?


Thanks.

Muhammad


Muhammad Rahiz  |  Doctoral Student in Regional Climate Modeling					
Climate Research Laboratory, School of Geography & the Environment	
Oxford University Centre for the Environment
South Parks Road, Oxford, OX1 3QY, United Kingdom 
Tel: +44 (0)1865-285194	 Mobile: +44 (0)7854-625974
Email: muhammad.rahiz at ouce.ox.ac.uk






Barry Rowlingson wrote:
> On Sun, Dec 20, 2009 at 7:40 PM, Muhammad Rahiz
> <muhammad.rahiz at ouce.ox.ac.uk> wrote:
>   
>> Hi all,
>>
>> How can I overcome the error "object of type 'closure' not subsettable"
>>
>> I ran the following script
>> seq <- paste(seq(1914, 1916, by=1), "*.y", sep=".") # make sequence
>> c <- 3 # total number of files
>> d2 <- file # creates dummy file
>>     
>
>  No it doesn't. It copies the object called 'file' into an object
> called 'd2'. What's the object called 'file'? If you've not created
> one already, its the 'file' function that R uses to read stuff from
> files. So when you do:
>
>
>   
>> d2[[i]] <- file[[i]] - mean
>>     
>
>  you are trying to subset from d2 (and from 'file'). If I do this:
>
>  > file[[2]]
>
>  I get your error message:
>
> Error in file[[2]] : object of type 'closure' is not subsettable
>
>  So clearly you aren't doing what you think you're doing.
>
>  Some hints:
>
> 1. Read a good introduction to R. You are making a number of
> fundamental mistakes here.
>
> 2. Run each line separately and check what value you get back by printing it.
>
> 3. Don't give your objects the same name as R functions (you're using
> 'seq', 'file', and 'mean'). Although this may work, it will confuse
> people later...
>
> Barry
>




More information about the R-help mailing list