Hallo everybody,
I am stucked in a vary basic tool.. rm()!
Want to erase some variables from my dataframe,
and I call
x<- c("data$var1", " data$var2")
rm(x)
then I call
data$var1
and it is still there!
Anybody can help?
Hallo everybody,
I am stucked in a vary basic tool.. rm()!
Want to erase some variables from my dataframe,
and I call
x<- c("data$var1", " data$var2")
rm(x)
then I call
data$var1
and it is still there!
Anybody can help?
Running x <- c("data$var1", " data$var2")
creates an object called x
that contains the two listed character strings. x
is a new object that has nothing to do with the data frame data
or any columns within data
. "data$var1"
and "data$var2"
are just character strings. They don't reference the data frame data
or any of its columns, which you would reference with data$var1
or data$var2
(without the quotation marks). Running rm(x)
just removes x
(the vector containing the two character strings) and does not affect the data frame data
at all.
If you want to remove the columns var1
and var2
from data
you could do the following:
data = data[ , !(names(data) %in% c("var1", "var2"))]
To see what the %in%
function is doing, trying running the following:
names(data) %in% c("var1", "var2")
!(names(data) %in% c("var1", "var2"))
names(data)[!(names(data) %in% c("var1", "var2"))]
To remove columns, you can also do the following:
library(tidyverse)
data = data %>% select(-var1, -var2)
rm() cannot be used to remove variables from a data frame.
To remove a variable, you need to set it to NULL:
data$var1 <- NULL
or
library(tidyverse)
data <- data %>% mutate(var1 = NULL, var2 = NULL)
Setting it to NULL avoids making a copy of the original data frame.
thanks so much for your help!
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.