使用dplyr将R中的多列转换为双类型
我有一个数据框,其中有许多列包含字符串格式的十进制值,我正在尝试找到一种方法,将所有包含数值的列转换为双精度类型。例如,通过指定要转换的列的范围,在本例中为df[2:4] 由此:使用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 <- 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))
这些值最初是如何成为字符值的?通常,当您导入数据时,转换应自动进行。你知道问题的起因吗?通常,解决问题的根本原因要比以后收拾残局好。这些值最初是如何变成字符值的?通常,当您导入数据时,转换应自动进行。你知道问题的起因吗?通常最好是设法解决根本原因,而不是以后收拾残局。