当前位置: 首页 > 知识库问答 >
问题:

使用另一个数据帧中的值生成dplyr参数

景辰钊
2023-03-14

我有数据,其中因子标签已提供在单独的文件。因此,当我读到里面的东西时,我得到的数据如下所示:

id <- seq(1,10,1)
factor_x <- as.factor(sample(x = 1:7, size = 10, replace = T))
data <- data.frame(id, factor_x)

和包含factor_x标签的单独数据帧,如下所示:

code <- seq(1,7,1)
label <- letters[1:7]
factor_x_labels <- data.frame(code, label)
factor_x_labels$label <- as.character(factor_x_labels$label)

我正在寻找一种有效的方法来更新数据帧'data'中的factor_x_labels'中的标签。

我一直试图使用forcats包中的fct_recode或dplyr中的recode,但遇到了麻烦,因为(例如)现有的和更新的标签需要作为字符串粘贴,但需要用=作为符号分隔。

共有1个答案

萧鸿轩
2023-03-14

@Ronak的评论显然是起作用的(也许应该是一个答案),但由于这篇文章的标签DPLYR,我也发布了一个DPLYR解决方案:

factor_x_labels$code <- as.character(factor_x_labels$code) #this won't work if one of "code" and "factor_x" is numeric but not the other
data %>% 
  left_join(factor_x_labels, by=c("factor_x"="code")) %>% 
  rename(factor_x_label = label)
 类似资料:
  • 我希望在一个数据框中估计模型,但是每个模型的公式都有一些来自另一个数据框的“移动部分”。例如,假设我想估计以下模型(我不能发布图片,也没有办法输入乳胶方程):mpg=a+B*log(w_1*drat+w_2*hp) group_by()的输出:

  • 我和Spark一起在Databricks上工作。编程语言是Scala。 我有两个数据帧: 主数据框:见截图:1 查找数据帧:参见屏幕截图3 我想: 查找主数据框中“年龄”=-1的所有行 我对如何做这件事伤了脑筋。我唯一想到的是将dataframe存储为DataRicks中的表,并使用SQL语句(SQL.Context.SQL…),结果非常复杂。 我想知道是否有更有效的方法。 编辑:添加可复制的示例

  • 我相信这很简单,但找不到答案。我有一个数据帧df: 然后,我有另一个较小的数据框,其中包含单元格引用(行号和列号),引用df中应为空的特定单元格(即NA): 我如何用NA替换df中所有由cellRefs中的行和列引用引用的单元格?

  • 我有两个Dataframes一个与日期集(df1)和另一个与emp_ids集(df2)。我试图创建一个新的Dataframe,这样df2中的每个emp_id都被标记为df1中的每个日期。 下面给出了我的数据帧的外观 df1 df2 预期产出: 我将日期列转换为字符串,并尝试执行以下操作,但返回的数据框为空 我尝试做

  • 我有2个数据帧在apache火花。 df 1有显示编号和说明。。。数据看起来像 不显示描述a这是米奇b唐纳德来了c玛丽和乔治回家d玛丽和乔治进城 第二个数据帧有字符 人物 乔治 唐纳德 玛丽 米妮 我需要搜索节目描述,找出哪个节目的特征是哪个角色... 最终输出应该如下所示 乔治|c,d 唐纳德|b 玛丽|c. d 米妮|不显示 这些数据集经过精心设计,非常简单,但它表达了我试图实现的搜索功能。我

  • 我得到了一个具有多个列和行的数据帧df1。简单的例子: 我想创建一个空的数据框df2,然后再添加新的列和计算结果。 此时,我的代码如下所示: …添加两个新列: 有没有更好/更安全/更快的方法?是否可以创建一个空数据帧df2,并且只从df1复制索引?