Object Not Found? Newbie

Hi, I'm at the very beginning of my R journey with no coding or computer background so struggling even reading the help pages to get an understandable solution to my problem. I'm an honours student starting to organise data from my research project to be analysed in R.

I have code written by my supervisor that I'm trying to use.
I was instructed to install & load the packages: gdata, reshape2 & dplyr.

I'm trying to create a subset of the dataset but receive the following error:

data_234 <- subset(data, Survey_number > 1)
#> Error in subset.default(data, Survey_number > 1): object 'Survey_number' not found 

#Here are the first few lines of the data with column headings:

 head(Scat_Hab_Data_1_)
# A tibble: 6 x 23
  Location Site  `Survey Date`       Survey_number EVC   TSF   `HC Score`
  <chr>    <chr> <dttm>                      <dbl> <chr> <chr> <lgl>     
1 EB       EB01A 2019-09-30 00:00:00             1 89    4     NA        
2 EB       EB01A 2019-10-18 00:00:00             2 89    4     NA        
3 EB       EB01A 2019-11-10 00:00:00             3 89    4     NA        
4 EB       EB01A 2019-12-03 00:00:00             4 89    4     NA        
5 EB       EB02A 2019-09-30 00:00:00             1 89    42    NA        
6 EB       EB02A 2019-10-18 00:00:00             2 89    42    NA        
# ... with 16 more variables: Rainfall <lgl>, Dist.Ag. <lgl>, Baiting <dbl>,
#   Deer <dbl>, `Wallaby Old` <dbl>, `Wallaby Recent` <dbl>, Goat <dbl>,
#   `M.Pod Recent` <dbl>, `M.Pod Old` <dbl>, `Rab old` <dbl>, `Rab rec` <dbl>,
#   B.Hare <dbl>, Fox <dbl>, Sheep <dbl>, Possum <dbl>, Notes <chr>

I updated R to the latest version and updated all the packages.

Is this enough information to get assistance?

Thankyou so much

Hi, and welcome!

A couple of preliminaries: please see the homework policy and the usefulness of a reproducible example, called a reprex.

The not found error. Pretty much everything in R is an object, including built-in and user created functions. When you invoke an object by name, such as Survey_number that name has to exist in either the global environment or the local environment. Most of the time, you can see what's in your local environment with the simple command ls.

# create a couple of objects
v <- seq(1,10,1)
string <- "This is a string"
# see if they appear in the local environment
ls()
#> [1] "string" "v"

In the case of subset, it has to be within the data argument.

Created on 2020-01-12 by the reprex package (v0.3.0)

You have the right syntax

mtcars
#>                      mpg cyl  disp  hp drat    wt  qsec vs am gear carb
#> Mazda RX4           21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4
#> Mazda RX4 Wag       21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4
#> Datsun 710          22.8   4 108.0  93 3.85 2.320 18.61  1  1    4    1
#> Hornet 4 Drive      21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1
#> Hornet Sportabout   18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2
#> Valiant             18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1
#> Duster 360          14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4
#> Merc 240D           24.4   4 146.7  62 3.69 3.190 20.00  1  0    4    2
#> Merc 230            22.8   4 140.8  95 3.92 3.150 22.90  1  0    4    2
#> Merc 280            19.2   6 167.6 123 3.92 3.440 18.30  1  0    4    4
#> Merc 280C           17.8   6 167.6 123 3.92 3.440 18.90  1  0    4    4
#> Merc 450SE          16.4   8 275.8 180 3.07 4.070 17.40  0  0    3    3
#> Merc 450SL          17.3   8 275.8 180 3.07 3.730 17.60  0  0    3    3
#> Merc 450SLC         15.2   8 275.8 180 3.07 3.780 18.00  0  0    3    3
#> Cadillac Fleetwood  10.4   8 472.0 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8 460.0 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8 440.0 230 3.23 5.345 17.42  0  0    3    4
#> Fiat 128            32.4   4  78.7  66 4.08 2.200 19.47  1  1    4    1
#> Honda Civic         30.4   4  75.7  52 4.93 1.615 18.52  1  1    4    2
#> Toyota Corolla      33.9   4  71.1  65 4.22 1.835 19.90  1  1    4    1
#> Toyota Corona       21.5   4 120.1  97 3.70 2.465 20.01  1  0    3    1
#> Dodge Challenger    15.5   8 318.0 150 2.76 3.520 16.87  0  0    3    2
#> AMC Javelin         15.2   8 304.0 150 3.15 3.435 17.30  0  0    3    2
#> Camaro Z28          13.3   8 350.0 245 3.73 3.840 15.41  0  0    3    4
#> Pontiac Firebird    19.2   8 400.0 175 3.08 3.845 17.05  0  0    3    2
#> Fiat X1-9           27.3   4  79.0  66 4.08 1.935 18.90  1  1    4    1
#> Porsche 914-2       26.0   4 120.3  91 4.43 2.140 16.70  0  1    5    2
#> Lotus Europa        30.4   4  95.1 113 3.77 1.513 16.90  1  1    5    2
#> Ford Pantera L      15.8   8 351.0 264 4.22 3.170 14.50  0  1    5    4
#> Ferrari Dino        19.7   6 145.0 175 3.62 2.770 15.50  0  1    5    6
#> Maserati Bora       15.0   8 301.0 335 3.54 3.570 14.60  0  1    5    8
#> Volvo 142E          21.4   4 121.0 109 4.11 2.780 18.60  1  1    4    2
dat <- subset(mtcars, hp > 200)
dat
#>                      mpg cyl disp  hp drat    wt  qsec vs am gear carb
#> Duster 360          14.3   8  360 245 3.21 3.570 15.84  0  0    3    4
#> Cadillac Fleetwood  10.4   8  472 205 2.93 5.250 17.98  0  0    3    4
#> Lincoln Continental 10.4   8  460 215 3.00 5.424 17.82  0  0    3    4
#> Chrysler Imperial   14.7   8  440 230 3.23 5.345 17.42  0  0    3    4
#> Camaro Z28          13.3   8  350 245 3.73 3.840 15.41  0  0    3    4
#> Ford Pantera L      15.8   8  351 264 4.22 3.170 14.50  0  1    5    4
#> Maserati Bora       15.0   8  301 335 3.54 3.570 14.60  0  1    5    8

Created on 2020-01-12 by the reprex package (v0.3.0)

It looks like you want

data_234 <- Scat_Hab_Data_1_, Survey_number > 1)

BTW, data() is a built in function in R, and to avoid potential confusion, using dat or some descriptive name is preferable. Another example is df, which can be substituted with df. or df_ruminants, for example.

Finally, a word on how to think of R. There's a lot of programming and computer science under the hood, but it's in service of making the user interface functional. That means just what you'd expect--school algebra writ large, f(x) = y.

When reading help() for any function, you're looking for the arguments, referred to as inputs and the result, referred to as output. Sometimes there's more to the output than meets the eye on the screen. For example, a linear regression model.

# create the model
fit <- lm(hp ~ wt, data = mtcars)
# display it
fit
#> 
#> Call:
#> lm(formula = hp ~ wt, data = mtcars)
#> 
#> Coefficients:
#> (Intercept)           wt  
#>      -1.821       46.160
# display more
summary(fit)
#> 
#> Call:
#> lm(formula = hp ~ wt, data = mtcars)
#> 
#> Residuals:
#>     Min      1Q  Median      3Q     Max 
#> -83.430 -33.596 -13.587   7.913 172.030 
#> 
#> Coefficients:
#>             Estimate Std. Error t value Pr(>|t|)    
#> (Intercept)   -1.821     32.325  -0.056    0.955    
#> wt            46.160      9.625   4.796 4.15e-05 ***
#> ---
#> Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#> 
#> Residual standard error: 52.44 on 30 degrees of freedom
#> Multiple R-squared:  0.4339, Adjusted R-squared:  0.4151 
#> F-statistic:    23 on 1 and 30 DF,  p-value: 4.146e-05
# look deeper
str(fit)
#> List of 12
#>  $ coefficients : Named num [1:2] -1.82 46.16
#>   ..- attr(*, "names")= chr [1:2] "(Intercept)" "wt"
#>  $ residuals    : Named num [1:32] -9.12 -20.89 -12.27 -36.58 18.03 ...
#>   ..- attr(*, "names")= chr [1:32] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" "Hornet 4 Drive" ...
#>  $ effects      : Named num [1:32] -829.79 251.47 -8.14 -35.51 18.33 ...
#>   ..- attr(*, "names")= chr [1:32] "(Intercept)" "wt" "" "" ...
#>  $ rank         : int 2
#>  $ fitted.values: Named num [1:32] 119 131 105 147 157 ...
#>   ..- attr(*, "names")= chr [1:32] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" "Hornet 4 Drive" ...
#>  $ assign       : int [1:2] 0 1
#>  $ qr           :List of 5
#>   ..$ qr   : num [1:32, 1:2] -5.657 0.177 0.177 0.177 0.177 ...
#>   .. ..- attr(*, "dimnames")=List of 2
#>   .. .. ..$ : chr [1:32] "Mazda RX4" "Mazda RX4 Wag" "Datsun 710" "Hornet 4 Drive" ...
#>   .. .. ..$ : chr [1:2] "(Intercept)" "wt"
#>   .. ..- attr(*, "assign")= int [1:2] 0 1
#>   ..$ qraux: num [1:2] 1.18 1.05
#>   ..$ pivot: int [1:2] 1 2
#>   ..$ tol  : num 1e-07
#>   ..$ rank : int 2
#>   ..- attr(*, "class")= chr "qr"
#>  $ df.residual  : int 30
#>  $ xlevels      : Named list()
#>  $ call         : language lm(formula = hp ~ wt, data = mtcars)
#>  $ terms        :Classes 'terms', 'formula'  language hp ~ wt
#>   .. ..- attr(*, "variables")= language list(hp, wt)
#>   .. ..- attr(*, "factors")= int [1:2, 1] 0 1
#>   .. .. ..- attr(*, "dimnames")=List of 2
#>   .. .. .. ..$ : chr [1:2] "hp" "wt"
#>   .. .. .. ..$ : chr "wt"
#>   .. ..- attr(*, "term.labels")= chr "wt"
#>   .. ..- attr(*, "order")= int 1
#>   .. ..- attr(*, "intercept")= int 1
#>   .. ..- attr(*, "response")= int 1
#>   .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv> 
#>   .. ..- attr(*, "predvars")= language list(hp, wt)
#>   .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
#>   .. .. ..- attr(*, "names")= chr [1:2] "hp" "wt"
#>  $ model        :'data.frame':   32 obs. of  2 variables:
#>   ..$ hp: num [1:32] 110 110 93 110 175 105 245 62 95 123 ...
#>   ..$ wt: num [1:32] 2.62 2.88 2.32 3.21 3.44 ...
#>   ..- attr(*, "terms")=Classes 'terms', 'formula'  language hp ~ wt
#>   .. .. ..- attr(*, "variables")= language list(hp, wt)
#>   .. .. ..- attr(*, "factors")= int [1:2, 1] 0 1
#>   .. .. .. ..- attr(*, "dimnames")=List of 2
#>   .. .. .. .. ..$ : chr [1:2] "hp" "wt"
#>   .. .. .. .. ..$ : chr "wt"
#>   .. .. ..- attr(*, "term.labels")= chr "wt"
#>   .. .. ..- attr(*, "order")= int 1
#>   .. .. ..- attr(*, "intercept")= int 1
#>   .. .. ..- attr(*, "response")= int 1
#>   .. .. ..- attr(*, ".Environment")=<environment: R_GlobalEnv> 
#>   .. .. ..- attr(*, "predvars")= language list(hp, wt)
#>   .. .. ..- attr(*, "dataClasses")= Named chr [1:2] "numeric" "numeric"
#>   .. .. .. ..- attr(*, "names")= chr [1:2] "hp" "wt"
#>  - attr(*, "class")= chr "lm"

Created on 2020-01-12 by the reprex package (v0.3.0)

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.