gpt4 book ai didi

r - 检测向量中的空字符串并将每个空字符串替换为其前一个元素

转载 作者:行者123 更新时间:2023-12-05 00:40:20 26 4
gpt4 key购买 nike

假设我有这个向量:

vector <- c("hello", "", "sometimes!","", "goodbye", "okay")

我想将每个空字符串替换为其前一项。

一开始我也想过用

Library(stringi) #package
stri_isempty(vector)
[1] FALSE TRUE FALSE TRUE FALSE FALSE

要知道哪个元素是空的,但是现在,我被卡住了。

我想得到这个结果:

[1] "hello"      "hello"      "sometimes!" "sometimes"  "goodbye"    "okay" 

接下来我该怎么做?

谢谢


编辑:另外,如果我想添加,我应该在建议的答案中添加什么

"final"

在每个空字符串的前面?

编辑 2:我能够使用 Erik Kornet 的代码在上一项之前添加另一个字符串:

for (v in 1:length(vector)){
if (vector[v] == ""){
vector[v] = paste("final", vector[v-1])
}
}

最佳答案

我们可以将 "" 替换为 NA,然后使用 zoo 包中的 na.locf

vec <- c("hello", "", "sometimes!","", "goodbye", "okay")

library(zoo)
vec[vec %in% ""] <- NA
vec2 <- na.locf(vec)
vec2
# [1] "hello" "hello" "sometimes!" "sometimes!" "goodbye" "okay"

关于r - 检测向量中的空字符串并将每个空字符串替换为其前一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50473602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com