我想使用strsplit()将字符串x = "a,b,"(最后一个位置的逗号)拆分为向量.c("a","b","")
结果是:
>strsplit(x,',')
[[1]]
[1] "a" "b"
Run Code Online (Sandbox Code Playgroud)
我想有第三个组件(空字符串或NULL).
该功能read.csv(x)可以管理,但我认为strsplit()应该按照我的预期行事.Python给出了c("a","b","").
也许有一些strsplit()我不知道的选择?
我有一个数据帧data的字符向量如下.
x <- c("kal, Kon, Jor, Kara", "Bruce, Helena, Martha, Terry", "connor, oliver, Roy",
"Alan, Guy, Simon, Kyle")
y <- c("Mon, Cir, John, Jor", "Damian, Terry, Jason", "Mia, Roy", "John, Cary")
data <- data.frame(x,y, stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
我试图连接两列中的字符串x和y新列z.我想删除重复项并,在连续连接字符串之前对分隔的单词进行排序.我能够达到以下目的.
x <- strsplit(data$x, split=", ")
y <- strsplit(data$y, split=", ")
data$z <- sapply(1:length(x), function(i) paste(sort(union(x[[i]], y[[i]])),
collapse=", "))
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法来创建中间列表,可能使用data.table?
我想在遇到时间之后将我的文本分成8个单词和数字.
文字示例:
s <- 'random random random 19:49 0-2 H 2 ABC TREE LAKE #88 TURTLE random random 03:32 43-21 V 8 XYZ LOG #72 FIRE random random random'
Run Code Online (Sandbox Code Playgroud)
我希望如何拆分文本的示例.
'random random random 19:49 0-2 H 2 ABC TREE LAKE #88 TURTLE
random random 03:32 43-21 V 8 XYZ DOG LOG #72 FIRE
random random random'
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过多种方式找到时间
str_extract(str_extract(s, "[:digit:]*:"), "[:digit:]*")
Run Code Online (Sandbox Code Playgroud)
但我不确定如何在时间之后分割八个单词和数字.任何帮助将不胜感激.
我有流动的文本字符串:
string <- "['CBOE SHORT-TERM VIX FUTURE DEC 2016', 81.64],\n\n ['CBOE SHORT-TERM VIX FUTURE JAN 2017', 18.36]"
Run Code Online (Sandbox Code Playgroud)
是否有一种从文本中提取数字元素的简单方法,而不必使用:
string_table <- strsplit(string, " ")
Run Code Online (Sandbox Code Playgroud)
然后选择第n个元素并继续strsplit直到我拥有我需要的东西.
结果应该是:
result <- c(2016, 81, 64, 2017, 18, 36)
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有一个类似下面的列表:
# Initial object
vec <- c("levelA-1", "levelA-2", "levelA-3",
"levelB-1", "levelB-2", "levelB-3")
lstVec <- strsplit(x = vec, split = "-")
Run Code Online (Sandbox Code Playgroud)
我想到达以下结构列表:
lstRes <- list(levelA = list(1:3),
lvelB = list(1:3))
Run Code Online (Sandbox Code Playgroud)
该列表具有以下特征:
strsplit这些列表的元素创建的第二级元素请你帮助我好吗?我需要分割一个没有分隔符的字符串。我需要将字符串拆分为不同的类型。例如,以下字符串应生成与输出相同的列表:
“ ak =围嘴+ c *(数据+1005)”
“ ak =围嘴+ c *(数据+1005)”
“ ak =围嘴+ c *(数据+ 1005)”
输出应为:
['ak','=','bib','+','c','*','(','data','+','1005',')']
谢谢!
我使用 R 中的 rvest 使用以下代码从本文页面中抓取文本关键字:
#install.packages("xml2") # required for rvest
library("rvest") # for web scraping
library("dplyr") # for data management
#' start with get the link for the web to be scraped
page <- read_html("https://www.sciencedirect.com/science/article/pii/S1877042810004568")
keyW <- page %>% html_nodes("div.Keywords.u-font-serif") %>% html_text() %>% paste(collapse = ",")
Run Code Online (Sandbox Code Playgroud)
它给了我:
> keyW
[1] "KeywordsPhysics curriculumTurkish education systemfinnish education systemPISAphysics achievement"
Run Code Online (Sandbox Code Playgroud)
使用以下代码行从字符串中删除单词“Keywords”及其之前的所有内容后:
keyW <- gsub(".*Keywords","", keyW)
Run Code Online (Sandbox Code Playgroud)
新的密钥W是:
[1] "Physics curriculumTurkish education systemfinnish education systemPISAphysics achievement"
Run Code Online (Sandbox Code Playgroud)
但是,我想要的输出是这个列表:
[1] "Physics curriculum" "Turkish education system" "finnish education …Run Code Online (Sandbox Code Playgroud) 非常感谢你的帮助.
是.我应该提供一个更好的例子.
这是我的输入文件(3columns.csv)
Patients Markers Studies
1 AA EXX 1111
2 BB ABCB1 2222|3333|5555|6666
3 CC CCAN 4444|5555
4 DD ABCB1 6666
Run Code Online (Sandbox Code Playgroud)
这是我的输出文件
Patients Markers Studies
1 AA EXX 1111
2 BB ABCB1 2222
2 BB ABCB1 3333
2 BB ABCB1 5555
2 BB ABCB1 6666
3 CC CCAN 4444
3 CC CCAN 5555
4 DD ABCB1 6666
Run Code Online (Sandbox Code Playgroud)
(1)根据以下命令,我对第6行进行了如下更改
sapply(unlist(strsplit(as.character(df[x,3]),"\\|")),c,df[x,1:2],USE.NAMES=FALSE)
Run Code Online (Sandbox Code Playgroud)
(2)我试着将df文件调用为
df <- read.csv(file="3columns.csv",header=TRUE,stringsAsFactors=FALSE)
Run Code Online (Sandbox Code Playgroud)
(3)我\\之前也尝试过添加|
所有这些方法都不起作用,所以我怀疑我可能误解了下面的答复.你介意给我一些指导吗?
最诚挚的问候,凯瑟琳
------原始问题--------------------------
我想使用R的strsplit命令根据符号分隔单元格"|".
但是,会显示一条错误消息:
Error in strsplit(df[x, …Run Code Online (Sandbox Code Playgroud) 我想在遇到"a"时拆分字符串,条件是"a"不应该跟"b"
string <- "abcgualoo87ahhabta"
Run Code Online (Sandbox Code Playgroud)
我应该得到输出
string <- [1]abcgua
[2]loo87a
[3]hhabta
Run Code Online (Sandbox Code Playgroud) 这是我的数据框架.
> data
Manufacturers
1 Audi,RS5
2 BMW,M3
3 Cadillac,CTS-V
4 Lexus,ISF
Run Code Online (Sandbox Code Playgroud)
所以我想分割制造商和模型,像这样,
> data
Manufacturers Models
1 Audi RS5
2 BMW M3
3 Cadillac CTS-V
4 Lexus ISF
Run Code Online (Sandbox Code Playgroud)
我很感激这个问题的任何帮助.非常感谢.
strsplit ×10
r ×9
split ×3
string ×3
list ×2
character ×1
data.table ×1
dataframe ×1
gsub ×1
python-3.x ×1
rvest ×1
stringr ×1
text-mining ×1