在R数据框中将多个整数列转换为数值列

17

我希望将第二列到最后一列(第13列)的整数数据类型转换为数字类型。

对于单个列,我使用以下代码:

dades$V3 <- as.numeric(dades$V3)

我希望用同一个命令将第2到13列进行转换。我创建了这个向量:

dades<-2:13

那么,我该如何使用lapply

1个回答

34

我们可以在数据集的子集(dades[2:13])上使用lapply,将其转换为numeric,并将其重新赋值给这些列。

dades[2:13] <- lapply(dades[2:13], as.numeric)

你缺少了一个逗号,代码应该写成:´dades[,2:13]´,否则你会在第1列的第2到13行引入NAs。 - krenz
2
@krenz 不完全是这样。默认情况下,如果在索引中没有逗号,则 data.frame 将其视为列索引。(但您是正确的,它是行、列索引。)您可能正在使用不同的数据结构,例如 data.table 等。 - akrun
你说得确实正确。 - krenz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接