我正在使用R进行家庭作业,并且下面有此代码。向量B基本上是从向量a中的字符串中删除白色空间。然后,向量C将使用白色空间将B中的字符串拆分。然后,我要对c进行排序。但是我必须将其转换为其他简单的原子向量进行排序。但是当我这样做时,我会在下面说一个错误。
a <- c("Chpater 5 ", "Green Eggs and Ham", "Dr. Seuss ", "That Sam-I-am! ", "p. 25")
a
b<-str_trim (a, side = "both")
b
library (stringr)
c<-str_split (b, pattern = " ")
c
sort (c)
unlist ( str_split (c, pattern = " "))
这是我从上面的最后一个代码中获得的结果。
[1] "c("Chpater"," ""5")" "c("Green"," ""Eggs","
[5] ""and"," ""Ham")" "c("Dr."," ""Seuss")"
[9] "c("That"," ""Sam-I-am!")" "c("p."," ""25")
sort (c)
但是,当我将C转换为简单的原子向量时,我不会得到可变C的排序。以下是我运行该行
时收到的消息> unlist ( str_split (c, pattern = " "))
Error in stri_split_regex(string, pattern, n = n, simplify = simplify, :
argument `str` should be a character vector (or an object coercible to)
> sort (c)
Error in sort.int(x, na.last = na.last, decreasing = decreasing, ...) :
'x' must be atomic
## You need to unlist vector c and sort as below:
sort(unlist(c))
#[1] "25" "5" "and" "Chpater" "Dr." "Eggs"
#[7] "Green" "Ham" "p." "Sam-I-am!" "Seuss" "That"