如何更改特定列的值格式 - R

How to change the value format for a specific column - R

假设我有一个数据集 traffic,其中有一列 Traffic_count 显示每个交通统计站的交通计数:

Traffic_counting_station_ID Traffic_count
1 24.592
2 65.500
3 4.976

问题是 Traffic_count 被解释为浮点类型,而值应表示整数。例如,当我生成一个新列 Traffic_count_TimesTen 时,公式为 traffic$Traffic_count*10,结果 table 是:

Traffic_counting_station_ID Traffic_count Traffic_count_TimesTen
1 24.592 245.92
2 65.500 655.00
3 4.976 49.76

当我应用 traffic$Traffic_count <- as.integer(traffic$Traffic_count) 时,Traffic_count 的值将分别为 25、66 和 5。

应用 traffic$Traffic_count <- as.numeric(gsub(".","",traffic$Traffic_count)) 删除定义浮点类型的点,导致 NA

如何将 Traffic_count 的值转换为整数,以便 Traffic_count 中的值被视为 24592、65500、4976,而 Traffic_count_TimesTen 中的值被视为245920、655000 和 49760?

您的 gsub 解决方案几乎 correct.Try 如下:

traffic$Traffic_count <- as.numeric(gsub("\.","",traffic$Traffic_count))

说明

. 是正则表达式中的一个特殊符号,意思是“任何”字符,因此它将用 "" 替换每个字母。如果你明确想要替换一个点,你需要在它前面放一个 \ 。但是当 R 试图解释字符串中的单个 "" 时,我们需要告诉 R 本身不要用另一个斜杠预处理斜杠。因此 \