- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想更改某些变量的值,具体取决于它们是否以某个字符串序列开头。
例子:
df <- data.frame(var1 = c("12345", "12345", "12345", "23456", "23456"))
df %>% mutate(var2 = ifelse(starts_with("123"), "ok", "not ok"))
所有以“123”开头的值都应更改为“ok”。如何将 starts_with()
与 mutate()
结合使用?
谢谢!
最佳答案
starts_with
用于选择以特定名称开头的列。在这里,您可以改用 base R startsWith
。
library(dplyr)
df %>% mutate(var2 = ifelse(startsWith(var1, "123"), "ok", "not ok"))
# var1 var2
#1 12345 ok
#2 12345 ok
#3 12345 ok
#4 23456 not ok
#5 23456 not ok
但是,我们也可以在基本 R 中不使用 ifelse
来执行此操作。
df$var2 <- c('not ok', 'ok')[startsWith(df$var1, '123') + 1]
或者用grepl
df$var2 <- c('not ok', 'ok')[grepl('^123', df$var1) + 1]
数据
startsWith
需要数据为字符,使用stringsAsFactors = FALSE
。
df <- data.frame(var1 = c("12345", "12345", "12345", "23456", "23456"),
stringsAsFactors = FALSE)
关于r - 使用 mutate 和 starts_with,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61425318/
我希望对用户输入字段使用 Laravel 验证,除了我希望强制执行的一条规则外,所有这些都运行良好:如何确保字段以 alpha 开头(它允许在其他地方使用 alpha_dash)。我尝试了 PHP 的
在 R 中,我想重命名函数内以某个前缀开头的所有列(比如 "oldprefix1", "oldprefix2", "oldprefix3", ... 到 "newprefix1", "newprefi
这个问题在这里已经有了答案: Rename columns using `starts_with()` where new prefix is a string (1 个回答) rename colu
use std::path::PathBuf; fn main() { let p = PathBuf::from(r"\\?\C:\test"); println!("{}", p.
我想更改某些变量的值,具体取决于它们是否以某个字符串序列开头。 例子: df % mutate(var2 = ifelse(starts_with("123"), "ok", "not ok")) 所
我想使用 dplyr 来选择与字符串向量匹配的某些列。 one <- seq(1:10) two <- rnorm(10) three <- runif(10, 1, 2) four <- -10:-
例如,我有一个极坐标数据框: >>> df = pl.DataFrame({'A': ['a', 'b', 'c', 'd'], 'B': ['app', 'nop', 'cap', 'tab']})
我想检查我的 url 是否以某些字符串开头,以便随后将其保存到数据库中。字符串存储在一个数组中,由于 starts_with? 接受多个值,我想获取 starts_with? 中的所有数组值。 arr
我有这个代码 if self.name.starts_with?('Bronze') || self.name.starts_with?('Silver') ||self.name.starts_wi
library(tidyverse) 使用下面的示例数据,我有两个数据帧 - Df1 和 Df2。我正在尝试创建一个简单的函数,它按字符串选择列 - 在这种情况下,两个数据框中以“Person”开头的
我有 df具有以下名称的变量: > names(df) [1] "local authority: district / unitary (as of April 2015)" "oslaua"
这与 the answer given here 非常相似,但我不明白为什么 starts_with 不起作用: diamonds %>% filter(across(clarity, ~ g
我有一本字典,我想在字典的键上做一个嵌套的 jmespath.search 以查找以特定字符串开头的键,但我似乎只能使用一次 @ 运算符. > d = {'foo1': 'bar', 'foo2' :
我想这可能是一个简单的技巧,但我不知道如何实现它...... 我的日期集看起来像: Name, Score A a, 20 A, 30 B b, 40 我期望的输出是: Name, Sco
显然他们在任何输入上都给我相同的输出,比如 "Ruby is red".start_with?("Ruby") 或 "Ruby is red".starts_with?("Ruby") 两者都给出相同
我正在尝试在结构 vector 中查找元素。该代码在以区分大小写的方式进行搜索时有效。当我尝试将其 boost 为不区分大小写时,我遇到了两个问题。 简单地包含 boost/algorithm/str
Ruby on Rails 有方法 String#starts_with?,它是用 Ruby 实现的 # File lib/active_support/core_ext/string/starts_
我是一名优秀的程序员,十分优秀!