如何更改特定列的值格式 - 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 本身不要用另一个斜杠预处理斜杠。因此 \
假设我有一个数据集 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 本身不要用另一个斜杠预处理斜杠。因此 \