拆分带分隔符的单值字符向量 [英] Split delimited single value character vector

查看:23
本文介绍了拆分带分隔符的单值字符向量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个用户提供的字符串,例如 "Mon,Tue,Wed,Thu,Fri".请注意,此值是用户提供的输入.用户可以提供诸如 "Mon,Tue,Wed" 之类的内容.

我想将此作为向量,用于绘图和进一步分析.

由于用户提供的值是单个逗号分隔的值,我们需要将值分隔为单个值,然后构造向量.

有没有办法直接构造vector.

即我应该从Mon,Tue,Wed,Thu,Fri"得到一个向量.正如预期的那样,下面的代码返回一个单值向量.

<代码>>工作日 <- c(天)>打印(工作日)[1]周一、周二、周三、周四、周五"

但我需要像下面这样的东西

<代码>>天 <- c("Mon","Tue","Wed","Thu","Fri")>打印(天)[1]周一"周二"周三"周四"周五"

请注意,我不是在读取 CSV 文件.我只是想读取用户提供的单个 CSV 行作为向量.

解决方案

您可以使用 strsplit :

wkdays <- 周一、周二、周三、周四、周五"取消列表(strsplit(wkdays,,"))

这给出:

<块引用>

<代码>>取消列表(strsplit(wkdays,,"))[1]周一"周二"周三"周四"周五"

<小时>

另一种方法是使用scan:

scan(text = wkdays, sep = ",", what = character())

给出相同的结果.

I have a user provided String like "Mon,Tue,Wed,Thu,Fri". Please note that this value is user provided input. User may provide something like "Mon,Tue,Wed" and so on.

I want to get this as vector which will be used for plotting and for further analytics.

Since the value provided by user is a single comma delimited value, we need to separate the value in to individual values and then construct vector.

Is there any way to construct vector directly.

i.e I should get a vector from "Mon,Tue,Wed,Thu,Fri". As expected, below code returns a single value vector.

> weekdays <- c(days)

> print(weekdays)
[1] "Mon,Tue,Wed,Thu,Fri"

But I need something like below

> days <- c("Mon","Tue","Wed","Thu","Fri")
> print(days)
[1] "Mon" "Tue" "Wed" "Thu" "Fri"

Note that I am not reading a CSV file. I am just trying to read a user provided single CSV row as vector.

解决方案

You can use strsplit for that:

wkdays <- "Mon,Tue,Wed,Thu,Fri"
unlist(strsplit(wkdays, ","))

this gives:

> unlist(strsplit(wkdays, ","))
[1] "Mon" "Tue" "Wed" "Thu" "Fri"


An alternative is to use scan:

scan(text = wkdays, sep = ",", what = character())

which gives the same result.

这篇关于拆分带分隔符的单值字符向量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆