如何将一些变量转换为数字,同时在 R 中保持其他变量相同
How can I convert some variables into numeric while keeping other variables same in R
这里我使用这段代码将因子转换为数值变量:
Table1_2[] <- lapply(Table1_2, function(x) as.numeric(as.character(x)))
但它会转换所有变量,所以我不能再在下图中使用 FIRM 变量。
我的问题是如何只将我想要的变量更改为数字变量,同时将其中一些变量保留为原始版本?
install.packages('remotes')
remotes::install_github("brunoruas2/gujarati",force = TRUE)
library(gujarati)
library(ggplot2)
Table1_2[] <- lapply(Table1_2, function(x) as.numeric(as.character(x)))
ggplot(Table1_2, aes(Table1_2$C.1, Table1_2$I) +geom_point() + facet_wrap(~Table1_2$FIRM)+theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.background = element_blank())
您可以通过限制列的输入和覆盖变量来对数据帧的子集(在您的情况下只有几个列)执行操作。假设您希望每一列都是数字,但名为 FIRM
:
的列除外
col_is_not_FIRM <- colnames(Table1_2) != "FIRM"
Table1_2[col_is_not_FIRM] <- lapply(Table1_2 [col_is_not_FIRM], function(x) as.numeric(as.character(x)))
col_is_not_FIRM
在这种情况下是一个逻辑向量,告诉子集操作,哪些列到 select。您可以在此处找到几种在数据框中进行子集化的方法:https://www.statology.org/subset-data-frame-in-r/
请注意,您必须在 <-
的左侧和右侧进行子集化。否则 R 将尝试将较大的数据帧塞入较小的数据帧,反之亦然。
这里我使用这段代码将因子转换为数值变量:
Table1_2[] <- lapply(Table1_2, function(x) as.numeric(as.character(x)))
但它会转换所有变量,所以我不能再在下图中使用 FIRM 变量。 我的问题是如何只将我想要的变量更改为数字变量,同时将其中一些变量保留为原始版本?
install.packages('remotes')
remotes::install_github("brunoruas2/gujarati",force = TRUE)
library(gujarati)
library(ggplot2)
Table1_2[] <- lapply(Table1_2, function(x) as.numeric(as.character(x)))
ggplot(Table1_2, aes(Table1_2$C.1, Table1_2$I) +geom_point() + facet_wrap(~Table1_2$FIRM)+theme(legend.position = "none",
panel.grid = element_blank(),
axis.title = element_blank(),
axis.text = element_blank(),
axis.ticks = element_blank(),
panel.background = element_blank())
您可以通过限制列的输入和覆盖变量来对数据帧的子集(在您的情况下只有几个列)执行操作。假设您希望每一列都是数字,但名为 FIRM
:
col_is_not_FIRM <- colnames(Table1_2) != "FIRM"
Table1_2[col_is_not_FIRM] <- lapply(Table1_2 [col_is_not_FIRM], function(x) as.numeric(as.character(x)))
col_is_not_FIRM
在这种情况下是一个逻辑向量,告诉子集操作,哪些列到 select。您可以在此处找到几种在数据框中进行子集化的方法:https://www.statology.org/subset-data-frame-in-r/
请注意,您必须在 <-
的左侧和右侧进行子集化。否则 R 将尝试将较大的数据帧塞入较小的数据帧,反之亦然。