R 如果列由数字组成,则更改列类
我有一个数据框,在这个数据框中,我必须将所有变量转换为R 如果列由数字组成,则更改列类,r,dplyr,R,Dplyr,我有一个数据框,在这个数据框中,我必须将所有变量转换为character类,以便绑定行()。现在,我想识别并将包含数字的列转换回numeric类。我有41个值,所以我不想分别对它们进行变异 最好是整洁的方式 library(dplyr) data_frame(number_var = as.character(rnorm(1:26)), character_var = LETTERS) 您可以使用readr包中的parse\u guess: library(dplyr)
character
类,以便绑定行()
。现在,我想识别并将包含数字的列转换回numeric类。我有41个值,所以我不想分别对它们进行变异
最好是整洁的方式
library(dplyr)
data_frame(number_var = as.character(rnorm(1:26)),
character_var = LETTERS)
您可以使用
readr
包中的parse\u guess
:
library(dplyr)
library(readr)
df <- data_frame(number_var = as.character(rnorm(1:26)),
character_var = LETTERS)
df %>%
mutate_all(parse_guess) # guess column type for each column
库(dplyr)
图书馆(readr)
df%
mutate_all(parse_guess)#猜测每列的列类型
您可以使用parse\u guess
fromreadr
软件包:
library(dplyr)
library(readr)
df <- data_frame(number_var = as.character(rnorm(1:26)),
character_var = LETTERS)
df %>%
mutate_all(parse_guess) # guess column type for each column
库(dplyr)
图书馆(readr)
df%
mutate_all(parse_guess)#猜测每列的列类型
x[]@snoram这也将匹配,例如“abc123”
。它应该更加明确:lappy(df,函数(x)if(any(grepl(“^\\d+$”,x)))as.numeric(x)else x)
或者甚至有一个阈值:lappy(df,函数(x)if(mean(grepl(^\\d+$”,x))>.5)as.numeric(x)else x)
。@Tino Right。但是按照字面上的说明就足够了:转换包含数字的列them@snoram哈哈,真的!:-)x[]@snoram这也将匹配,例如“abc123”
。它应该更加明确:lappy(df,函数(x)if(any(grepl(“^\\d+$”,x)))as.numeric(x)else x)
或者甚至有一个阈值:lappy(df,函数(x)if(mean(grepl(^\\d+$”,x))>.5)as.numeric(x)else x)
。@Tino Right。但是按照字面上的说明就足够了:转换包含数字的列them@snoram哈哈,真的!:-)哦,谢谢!我不知道parse\u guess
函数,谢谢!顺便说一下,我改变了我的示例数据框,这样你就可以删除你的代码> MutaTyGALL(AS。字符)%> %<代码> LIN。OK -删除它。@ Tdebeus考虑接受答案,如果它解决了你的问题。谢谢!我不知道parse\u guess
函数,谢谢!顺便说一下,我改变了我的示例数据框,这样你就可以删除你的<代码> MutaTyGALL(AS。字符)%> %>代码> LI.OK -删除它。@ Tdebeus考虑接受答案,如果它解决了你的问题。