R 替换空白而不是NA

R 替换空白而不是NA,r,R,我有两个变量a和b a b vessel hot parts nest NA best true neat smooth 我想将b中的空白替换为a la$b[i1] <- ifelse(la$b[i1] == "",la$a[i1],la$b[i1]) la$b[i1]我们可以使用data.table。将'data.frame'转换为'data.table'(setDT(df1)),在'i'中指定条件(b='),并将与'i'

我有两个变量
a
b

a         b
vessel    hot
parts     
nest      NA
best      true
neat      smooth
我想将
b
中的空白替换为
a

la$b[i1] <- ifelse(la$b[i1] == "",la$a[i1],la$b[i1])

la$b[i1]我们可以使用
data.table
。将'data.frame'转换为'data.table'(
setDT(df1)
),在'i'中指定条件(
b='
),并将与'i'中的真值相对应的'a'值分配给'b'。它应该很快,因为我们正在分配到位

library(data.able)
setDT(df1)[b=='', b:= a]
df1
#       a      b
#1: vessel    hot
#2:  parts  parts
#3:   nest     NA
#4:   best   true
#5:   neat smooth

或者我们可以只
base R

i1 <- df1$b=='' & !is.na(df1$b)
df1$b[i1] <- df1$a[i1]

i1我们可以使用
data.table
。将'data.frame'转换为'data.table'(
setDT(df1)
),在'i'中指定条件(
b='
),并将与'i'中的真值相对应的'a'值分配给'b'。它应该很快,因为我们正在分配到位

library(data.able)
setDT(df1)[b=='', b:= a]
df1
#       a      b
#1: vessel    hot
#2:  parts  parts
#3:   nest     NA
#4:   best   true
#5:   neat smooth

或者我们可以只
base R

i1 <- df1$b=='' & !is.na(df1$b)
df1$b[i1] <- df1$a[i1]
i1代替

# la$b[i1] <- ifelse(la$b[i1] == "",la$a[i1],la$b[i1])
# what is i1? it doesn't seem to have any obvious function here
#la$b[i1]而不是

# la$b[i1] <- ifelse(la$b[i1] == "",la$a[i1],la$b[i1])
# what is i1? it doesn't seem to have any obvious function here

什么是
i1
?看起来应该只有2张…我有1000多张这样的唱片。所以我不能指定2我提到的i1来遍历所有记录,然后去掉所有括号:
la$b什么是
i1
?看起来应该只有2张…我有1000多张这样的唱片。所以我不能指定2我提到的i1来遍历所有记录,然后去掉所有括号:
la$b