在 R 中使用 scan() 函数在下划线处拆分字符串 - strsplit() 与 scan() 比较
Split Character String at Underscore Using scan() Function in R - strsplit() vs. scan() Comparison
我注意到函数 strsplit() 和 scan() 处理下划线的方式不同,我想知道为什么会这样。
请考虑以下示例代码:
x1 <- "string split"
strsplit(x1, " ")[[1]]
# [1] "string" "split"
scan(text = x1, what = " ")
# [1] "string" "split"
使用“ ”作为分隔符时,strsplit 和 scan 的输出相同。
但是,当我使用“_”作为分隔符时,输出是不同的:
x2 <- "string_split"
strsplit(x2, "_")[[1]]
# [1] "string" "split"
scan(text = x2, what = "_")
# [1] "string_split"
为什么使用下划线作为分隔符时,strsplit 和 scan 的输出不同?
参数 what
不是分隔符而是数据类型。在你的情况下,你有性格:
scan(text=x2, what = character(), sep='_', quiet = TRUE)
[1] "string" "split"
我注意到函数 strsplit() 和 scan() 处理下划线的方式不同,我想知道为什么会这样。
请考虑以下示例代码:
x1 <- "string split"
strsplit(x1, " ")[[1]]
# [1] "string" "split"
scan(text = x1, what = " ")
# [1] "string" "split"
使用“ ”作为分隔符时,strsplit 和 scan 的输出相同。
但是,当我使用“_”作为分隔符时,输出是不同的:
x2 <- "string_split"
strsplit(x2, "_")[[1]]
# [1] "string" "split"
scan(text = x2, what = "_")
# [1] "string_split"
为什么使用下划线作为分隔符时,strsplit 和 scan 的输出不同?
参数 what
不是分隔符而是数据类型。在你的情况下,你有性格:
scan(text=x2, what = character(), sep='_', quiet = TRUE)
[1] "string" "split"