Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 我想使用一个已经存在的变量作为索引来创建一个新变量-向量属于不同的dfs,并且具有不同的大小_R_Dataframe_Dplyr_Mutate - Fatal编程技术网

R 我想使用一个已经存在的变量作为索引来创建一个新变量-向量属于不同的dfs,并且具有不同的大小

R 我想使用一个已经存在的变量作为索引来创建一个新变量-向量属于不同的dfs,并且具有不同的大小,r,dataframe,dplyr,mutate,R,Dataframe,Dplyr,Mutate,情况如下: 我正在处理一个选举数据库,需要创建一个新的变量来计算每个城市的有效选票。最初的数据库只提供每个候选人获得的选票总数,而且在一次选举中通常有两名或两名以上的候选人 因此,为了在给定的城市中创建有效投票的度量,我使用了:tapply(qnt_voces,city_name,sum)。然后我创建了一个单独的数据框(df2)来包含这些信息,这样现在我就有了每个城市有效投票的度量 问题是我需要将这些值合并到原始的df中,但是有效的投票df比原始的df短,并且R不会这样做。有没有办法告诉R比较每

情况如下:

我正在处理一个选举数据库,需要创建一个新的变量来计算每个城市的有效选票。最初的数据库只提供每个候选人获得的选票总数,而且在一次选举中通常有两名或两名以上的候选人

因此,为了在给定的城市中创建有效投票的度量,我使用了:tapply(qnt_voces,city_name,sum)。然后我创建了一个单独的数据框(df2)来包含这些信息,这样现在我就有了每个城市有效投票的度量

问题是我需要将这些值合并到原始的df中,但是有效的投票df比原始的df短,并且R不会这样做。有没有办法告诉R比较每个数据框中的城市名称,然后在名称匹配时将有效投票的对应值添加到原始df中的新列

以下是我尝试过的一些解决方案,但都不奏效:

df$new_col <- ifelse(df$city_names == df2$city_names, df2$valid_votes, next)

df$newcol <- df %>%
  mutate(newcol = case_when
  (df$city_names == df2$city_names ~ df2$valid_votes))

df$new\u col听起来您想合并两个数据帧。也许可以给
dplyr::left_join
看一看