如何在R中将下划线替换为逗号
我正在学习R编程,这里是我的数据示例如何在R中将下划线替换为逗号,r,R,我正在学习R编程,这里是我的数据示例 trip_id start_location start_time <int> <chr> <chr> 1 1 13.90834_100.50457 05:19:37 2 2 13.6753_100.63453 00:05:24 3 3 13.66348_100.71868 03:49:54 4
trip_id start_location start_time
<int> <chr> <chr>
1 1 13.90834_100.50457 05:19:37
2 2 13.6753_100.63453 00:05:24
3 3 13.66348_100.71868 03:49:54
4 4 13.63345_100.71102 04:14:52
5 5 13.59653_100.70172 05:01:52
6 6 13.57542_100.79453 05:57:11
7 7 13.60123_100.71091 06:21:52
8 43875 13.94582_100.735 19:28:51
9 43876 14.01229_100.66908 20:58:30
10 43877 13.79245_100.70217 22:09:30
trip\u id开始位置开始时间
1 1 13.90834_100.50457 05:19:37
2 2 13.6753_100.63453 00:05:24
3 3 13.66348_100.71868 03:49:54
4 4 13.63345_100.71102 04:14:52
5 5 13.59653_100.70172 05:01:52
6 6 13.57542_100.79453 05:57:11
7 7 13.60123_100.71091 06:21:52
8 43875 13.94582_100.735 19:28:51
9 43876 14.01229_100.66908 20:58:30
10 43877 13.79245_100.70217 22:09:30
也是我重复的例子
Mon2 <- structure(list(trip_id = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 43875L,43876L, 43877L), start_location = c("13.90834_100.50457", "13.6753_100.63453","13.66348_100.71868", "13.63345_100.71102", "13.59653_100.70172","13.57542_100.79453", "13.60123_100.71091", "13.94582_100.735","14.01229_100.66908", "13.79245_100.70217"), start_time = c("05:19:37","00:05:24", "03:49:54", "04:14:52", "05:01:52", "05:57:11", "06:21:52","19:28:51", "20:58:30", "22:09:30")), row.names = c(NA, -10L), class = c("tbl_df","tbl", "data.frame"))
Mon2我们可以使用str\u替换
library(dplyr)
library(stringr)
Mon2 <- Mon2 %>%
mutate(start_location = str_replace(start_location, "_", ","))
-输出
Mon2
# A tibble: 10 x 3
trip_id start_location start_time
<int> <chr> <chr>
1 1 13.90834,100.50457 05:19:37
2 2 13.6753,100.63453 00:05:24
3 3 13.66348,100.71868 03:49:54
4 4 13.63345,100.71102 04:14:52
5 5 13.59653,100.70172 05:01:52
6 6 13.57542,100.79453 05:57:11
7 7 13.60123,100.71091 06:21:52
8 43875 13.94582,100.735 19:28:51
9 43876 14.01229,100.66908 20:58:30
10 43877 13.79245,100.70217 22:09:30
# A tibble: 10 x 3
# trip_id start_location start_time
# <int> <chr> <chr>
# 1 1 13.90834,100.50457 05,19,37
# 2 2 13.6753,100.63453 00,05,24
# 3 3 13.66348,100.71868 03,49,54
# 4 4 13.63345,100.71102 04,14,52
# 5 5 13.59653,100.70172 05,01,52
# 6 6 13.57542,100.79453 05,57,11
# 7 7 13.60123,100.71091 06,21,52
# 8 43875 13.94582,100.735 19,28,51
# 9 43876 14.01229,100.66908 20,58,30
#10 43877 13.79245,100.70217 22,09,30
#一个tible:10 x 3
#行程id开始位置开始时间
#
# 1 1 13.90834,100.50457 05,19,37
# 2 2 13.6753,100.63453 00,05,24
# 3 3 13.66348,100.71868 03,49,54
# 4 4 13.63345,100.71102 04,14,52
# 5 5 13.59653,100.70172 05,01,52
# 6 6 13.57542,100.79453 05,57,11
# 7 7 13.60123,100.71091 06,21,52
# 8 43875 13.94582,100.735 19,28,51
# 9 43876 14.01229,100.66908 20,58,30
#10 43877 13.79245,100.70217 22,09,30
我们可以使用str\u替换
library(dplyr)
library(stringr)
Mon2 <- Mon2 %>%
mutate(start_location = str_replace(start_location, "_", ","))
-输出
Mon2
# A tibble: 10 x 3
trip_id start_location start_time
<int> <chr> <chr>
1 1 13.90834,100.50457 05:19:37
2 2 13.6753,100.63453 00:05:24
3 3 13.66348,100.71868 03:49:54
4 4 13.63345,100.71102 04:14:52
5 5 13.59653,100.70172 05:01:52
6 6 13.57542,100.79453 05:57:11
7 7 13.60123,100.71091 06:21:52
8 43875 13.94582,100.735 19:28:51
9 43876 14.01229,100.66908 20:58:30
10 43877 13.79245,100.70217 22:09:30
# A tibble: 10 x 3
# trip_id start_location start_time
# <int> <chr> <chr>
# 1 1 13.90834,100.50457 05,19,37
# 2 2 13.6753,100.63453 00,05,24
# 3 3 13.66348,100.71868 03,49,54
# 4 4 13.63345,100.71102 04,14,52
# 5 5 13.59653,100.70172 05,01,52
# 6 6 13.57542,100.79453 05,57,11
# 7 7 13.60123,100.71091 06,21,52
# 8 43875 13.94582,100.735 19,28,51
# 9 43876 14.01229,100.66908 20,58,30
#10 43877 13.79245,100.70217 22,09,30
#一个tible:10 x 3
#行程id开始位置开始时间
#
# 1 1 13.90834,100.50457 05,19,37
# 2 2 13.6753,100.63453 00,05,24
# 3 3 13.66348,100.71868 03,49,54
# 4 4 13.63345,100.71102 04,14,52
# 5 5 13.59653,100.70172 05,01,52
# 6 6 13.57542,100.79453 05,57,11
# 7 7 13.60123,100.71091 06,21,52
# 8 43875 13.94582,100.735 19,28,51
# 9 43876 14.01229,100.66908 20,58,30
#10 43877 13.79245,100.70217 22,09,30
您不需要任何额外的库,可以在基本包中使用gsub
Mon2$start_location<- gsub('_', ',', Mon2$start_location )
Mon2$start\u location您不需要任何额外的库,您可以在基本包中使用gsub
Mon2$start_location<- gsub('_', ',', Mon2$start_location )
Mon2$start\u location谢谢@akrun它的工作。如果我也想替换我的开始时间列呢。比如05:19:37到05,19,37像这样?提前感谢Mon2$start_time@Yasumin您可以在整个
中使用,就像在更新的hank you@akrun中一样。如果我也想替换我的开始时间列呢。比如05:19:37到05,19,37像这样?提前感谢Mon2$start_time@Yasumin您可以在整个
中使用,因为在更新后的实际sub
就足够了。如果OP只想替换第一个匹配项,那么sub就足够了。如果OP只想替换第一个匹配项,那么sub就够了