Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用dplyr将R中的多列转换为双类型_R_Dplyr - Fatal编程技术网

使用dplyr将R中的多列转换为双类型

使用dplyr将R中的多列转换为双类型,r,dplyr,R,Dplyr,我有一个数据框,其中有许多列包含字符串格式的十进制值,我正在尝试找到一种方法,将所有包含数值的列转换为双精度类型。例如,通过指定要转换的列的范围,在本例中为df[2:4] 由此: df <- data_frame(cat = c('A', 'B', 'C'), X11 = c('0.1', '0.3', '0.5'), Y2 = c('0.2', '0.2', '0.7'), P3 = c('0.14',

我有一个数据框,其中有许多列包含字符串格式的十进制值,我正在尝试找到一种方法,将所有包含数值的列转换为双精度类型。例如,通过指定要转换的列的范围,在本例中为df[2:4]

由此:

df <- data_frame(cat = c('A', 'B', 'C'), 
             X11 = c('0.1', '0.3', '0.5'), 
             Y2 = c('0.2', '0.2', '0.7'), 
             P3 = c('0.14', '0.31', '0.35'),
             type = c('H', 'I', 'J'))

df最好使用
type。从
base R
转换
,它会根据每列中的值自动更正类型

df1 <- type.convert(df, as.is = TRUE)
或列名范围

df %>%
   mutate(across(X11:P3, as.numeric))

最好使用
type。从
base R
转换
,它会根据每列中的值自动更正类型

df1 <- type.convert(df, as.is = TRUE)
或列名范围

df %>%
   mutate(across(X11:P3, as.numeric))

这些值最初是如何成为字符值的?通常,当您导入数据时,转换应自动进行。你知道问题的起因吗?通常,解决问题的根本原因要比以后收拾残局好。这些值最初是如何变成字符值的?通常,当您导入数据时,转换应自动进行。你知道问题的起因吗?通常最好是设法解决根本原因,而不是以后收拾残局。