我有一个用户提供的String类似"Mon,Tue,Wed,Thu,Fri"
。请注意,该值是用户提供的输入。用户可以提供诸如此类的东西"Mon,Tue,Wed"
。
我想将其作为矢量,将用于绘图和进一步分析。
由于用户提供的值是一个逗号分隔的值,因此我们需要将该值分成多个单独的值,然后构造向量。
有什么办法可以直接构造向量。
即我应该从“星期一,星期二,星期三,星期四,星期五”获取向量。如预期的那样,下面的代码返回单个值向量。
> weekdays <- c(days)
> print(weekdays)
[1] "Mon,Tue,Wed,Thu,Fri"
Run Code Online (Sandbox Code Playgroud)
但是我需要下面的东西
> days <- c("Mon","Tue","Wed","Thu","Fri")
> print(days)
[1] "Mon" "Tue" "Wed" "Thu" "Fri"
Run Code Online (Sandbox Code Playgroud)
请注意,我没有读取CSV文件。我只是试图读取用户提供的单个CSV行作为矢量。
您可以使用strsplit
:
wkdays <- "Mon,Tue,Wed,Thu,Fri"
unlist(strsplit(wkdays, ","))
Run Code Online (Sandbox Code Playgroud)
这给出了:
Run Code Online (Sandbox Code Playgroud)> unlist(strsplit(wkdays, ",")) [1] "Mon" "Tue" "Wed" "Thu" "Fri"
一种替代方法是使用scan
:
scan(text = wkdays, sep = ",", what = character())
Run Code Online (Sandbox Code Playgroud)
得到相同的结果。