R 基于其他字符列中的组,使用向量值创建新列
我对R还是个新手,目前仍在使用data.frame。 我有一个字符列,不同的组在数字上有所不同。例如,前七行为“A”,后五行为“B”,依此类推。现在我有一个向量,它的长度等于组的总数。我的目标是创建一个新列,其中所有“a”行获得第一个向量值,所有“B”行获得第二个值,依此类推 我已经试过了:R 基于其他字符列中的组,使用向量值创建新列,r,R,我对R还是个新手,目前仍在使用data.frame。 我有一个字符列,不同的组在数字上有所不同。例如,前七行为“A”,后五行为“B”,依此类推。现在我有一个向量,它的长度等于组的总数。我的目标是创建一个新列,其中所有“a”行获得第一个向量值,所有“B”行获得第二个值,依此类推 我已经试过了: values <- c("G", "H", "J", "K") dat$col2 <- values[dat$co
values <- c("G", "H", "J", "K")
dat$col2 <- values[dat$col1]
值我认为您只是在寻找一个ifelse
group.size在第一列中有字符值。不能在此处使用字符值为向量编制索引。使用match
创建索引
df$second_column <- c("A","B")[match(df$first_column, unique(df$first_column))]
df
# first_column second_column
#1 value_1 A
#2 value_1 A
#3 value_1 A
#4 value_1 A
#5 value_1 A
#6 value_1 A
#7 value_2 B
#8 value_2 B
#9 value_2 B
#10 value_2 B
#11 value_2 B
#12 value_2 B
#13 value_2 B
df$second\u column您是使用相同的数据帧和来自该链接的代码并获得NA
,还是将其应用于其他数据帧?我将其应用于另一个数据帧,它相当大。因此,每次我获得一组类似类型的新数据时,手动执行该操作太复杂了。我注意到,即使在更新之后,如果“col1”是链接中的数字列,它仍然有效。但同时,在这种情况下,它也不再起作用了。你能提供你正在应用它的数据集的样本吗,这样我们就可以重现你所面临的问题。我添加了一个编辑和一个可重现的例子
df$second_column <- c("A","B")[match(df$first_column, unique(df$first_column))]
df
# first_column second_column
#1 value_1 A
#2 value_1 A
#3 value_1 A
#4 value_1 A
#5 value_1 A
#6 value_1 A
#7 value_2 B
#8 value_2 B
#9 value_2 B
#10 value_2 B
#11 value_2 B
#12 value_2 B
#13 value_2 B