【发布时间】:2019-11-03 21:21:59
【问题描述】:
我尝试使用 mutate 向数据框中添加新列给了我一个新变量的小标题,但没有将变量添加为数据框中的新列(这是我想要做的)。
我有一个带有字符变量 DRUG_GENERIC_NAME 的数据框,并通过组合 mutate 和 str_detect 创建了一个新的逻辑变量 Ibuprofen,当 IBUPROFEN 包含在 DRUG_GENERIC_NAME 中时,它将是 TRUE:
mutate(Drug_Table, DRUG_GENERIC_NAME, Ibuprofen = str_detect (Drug_Table$DRUG_GENERIC_NAME,"IBUPROFEN", negate = FALSE))
结果是一个带有新变量 Ibuprofen 的 tibble,但代码没有将变量添加到数据框 Drug_Table。如何使用此代码将新变量添加到数据框而不是创建 tibble?
【问题讨论】:
-
将结果赋回原始数据框的名称:
Drug_Table <- mutate(... -
如果你将结果分配回去,它仍然会被转换为一个 tibble(一个 tibble 只是一个稍微修改过的数据帧,并且在 95% 的时间里工作完全相同)。使用
mutate()时没有真正的解决方法,您可能只需要习惯使用 tibbles 的想法。