标签: stringr

替换数据框列中的多个字符串

我一直在尝试使用 str_replace_all 替换 R 中数据帧的列中的多个字符串。

目前我已经写了一些简单的东西(如下)

mydata$Final_Result <- str_replace_all(mydata$Final_Result, 'Absent', 'A')
mydata$Final_Result <- str_replace_all(mydata$Final_Result, 'Present', 'P')
Run Code Online (Sandbox Code Playgroud)

我在同一列中还有其他字符串需要替换。所以我正在寻找一种更优雅的方法来在一行中编写此代码。

如果有人能就如何做到这一点提出建议,我将不胜感激。

string r str-replace stringr

1
推荐指数
1
解决办法
1万
查看次数

从 R 中的库(stringr)中删除空字符串

我有一个名为 Words 的字符串向量,我需要使用 删除所有空字符串library(stringr)。我尝试过str_remove_all(words, pattern = ""),但它告诉我:

错误:不支持空“pattern”。

我应该怎么办?任何帮助,将不胜感激。

string r vector stringr

1
推荐指数
2
解决办法
6015
查看次数

Stringr 函数 str_extract_all() 突然不适用于我尝试的任何数据集

我重新运行了一些我多年来一直使用的 R 代码,似乎一夜之间它就停止工作了。数据没有任何变化,代码也没有任何变化,但是 R 包 stringr 中的函数 str_extract_all 不再起作用。

\n

数据来自 .txt 文件,该文件是贝叶斯饮食模型的输出。我想把它做成一张桌子,这样我就可以查看个人的饮食。它看起来像这样:

\n

狼队:

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n
个人部分
狼1.鹿.50
狼1.麋鹿.30
狼1.驼鹿.20
狼2.鹿.40
狼2.麋鹿.35
狼2.驼鹿.25
\n
\n

我一直使用的创建新食物栏的代码行是:

\n
Wolves$Food <- unlist(\n  str_extract_all(\n    Wolves$Individual, \n    c("Deer", "Elk", "Moose")\n  ), \n  use.names=FALSE\n)\n
Run Code Online (Sandbox Code Playgroud)\n

所以新数据将如下所示:

\n
| Individual | Proportion| Food\n| ---------- | --------- |\n| Wolf1.Deer | .50       | Deer\n| Wolf1.Elk  | .30       | Elk\n| Wolf1.Moose| .20       | Moose\n| Wolf2.Deer | .40       | Deer \n| …
Run Code Online (Sandbox Code Playgroud)

r stringr tidyverse

1
推荐指数
1
解决办法
389
查看次数

R仅从字符串中删除"[""]"

我有类似的东西:

test[1] 
"[0 30.5 4.5 10.5 2 35 22.999999999999996 29 5.500000000000001 23.5 18 23.5 44.5 3 44.5 44.00000000000001 43 27 42 35.5 19.5 44.00000000000001 1 0 31 34 18 1.5 26 6 45.99999999999999 10.5 9.5 24 20 42.5 14.5 45.5 20.499999999999996 150 45.5 0 4.5 22.5 4 9 8 0 0 15.5 30.5 7 5.500000000000001 12.5 33.5 15 500 22.5 18 43 4.5 26 23.5 16 4.5 7.5 32 0 0 18.5 33 31 14.5 21.5 0 40 0 0 …
Run Code Online (Sandbox Code Playgroud)

regex r stringr

0
推荐指数
1
解决办法
567
查看次数

正则表达式删除r中的.csv

这将是愚蠢的.

我有一个字符串:

word <- "dirtyboards.csv" 
Run Code Online (Sandbox Code Playgroud)

我想删除csv部分并获得"脏板".

我在尝试:

require(stringr)
str_extract(word, ".*[^.csv]")
Run Code Online (Sandbox Code Playgroud)

我得到了回报:"脏板".".csv"之前的"s"丢失了.

我知道我能做到

gsub(".csv", "", word)

regex r stringr

0
推荐指数
2
解决办法
918
查看次数

R - 使用正则表达式从字符串中提取数字

如果可能的话,我想从一个带有一个表达式的字符串中提取带小数的数字.

例如,将"2,123.02"转换为"2123.02" - 我目前的解决方案是:

paste(unlist(str_extract_all("2,123.02","\\(?[0-9.]+\\)?",simplify=F)),collapse="")
Run Code Online (Sandbox Code Playgroud)

但我正在寻找的是str_extract_all中的表达式,它只是将它们自己绑定在一起作为一个向量.这是否可以用正则表达式实现?

regex r stringr

0
推荐指数
1
解决办法
190
查看次数

如何在R中输入一定数量的单词和数字之后拆分一串文本?

我想在遇到时间之后将我的文本分成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)

但我不确定如何在时间之后分割八个单词和数字.任何帮助将不胜感激.

split r strsplit stringr

0
推荐指数
1
解决办法
140
查看次数

字符串在列中的操作

考虑data.frame可以说:

df <- data_frame(id = c(1, 1, 2, 2), n = c("100+", "50+", "30+", "40+"))
Run Code Online (Sandbox Code Playgroud)

n应是转换为c("100","50","30","40")通过使用str_replace()dplyr库.

我需要这样的东西来工作:

library(dplyr)
library(stringr)

df %>%
  mutate(n = str_replace("+",""))
Run Code Online (Sandbox Code Playgroud)

必须有一种适当的方法来str_replace()为具有dplyr的列应用函数.

r stringr dplyr

0
推荐指数
1
解决办法
2986
查看次数

如何将字符串的部分捕获到矢量中

我有以下字符串:

x <- "sim_K1000_human_compact"
Run Code Online (Sandbox Code Playgroud)

我怎样才能捕捉1000humancompact作为载体?

我试过这个但没有用:

> strsplit(base, "sim_K([0-9]+)_(\\w+)_(\\w+)")
[[1]]
[1] ""
Run Code Online (Sandbox Code Playgroud)

regex r stringr

0
推荐指数
1
解决办法
49
查看次数

how to clean a query string in a URL?

Consider this simple example

www.stackunderflow.com?q=snack%20over%20flow

I am interested in parsing the query string of the url. However, as you can see, I have these annoying URL encoding strings (such as %20) that I need convert.

How can I do that in R? I would like to obtain a clean string such as snack over flow. I know how to get the query part :

> str_match('www.stackunderflow.com?q=snack%20over%20flow', regex('\\?q=(.*)'))[,2]
[1] "snack%20over%20flow"
Run Code Online (Sandbox Code Playgroud)

but I dont know how to clean the string. …

regex url r stringr

0
推荐指数
1
解决办法
80
查看次数

标签 统计

r ×10

stringr ×10

regex ×5

string ×2

dplyr ×1

split ×1

str-replace ×1

strsplit ×1

tidyverse ×1

url ×1

vector ×1