【发布时间】:2021-11-16 20:40:44
【问题描述】:
我有一个名为 food.1、food.2...food.10 的 10 列列表,并且想要过滤我的数据,以了解这 10 列中的任何一列中的食物名称匹配预先指定的碳水化合物食物列表(面包、米饭、土豆、蛋糕、面团)
我开始在下面编写此代码,但我确信有一种更简单的方法可以做到这一点,而不是为我想要保留的每个可能的动脉名称复制每一列。 函数会起作用吗?如何编写?
carb.df= df %>%
filter(food.1 =="bread"|food.2 =="bread"|
food.3=="bread"|food.4 =="bread"|
food.5 =="bread"|food.6 =="bread"|
food.7 =="bread"|food.8 =="bread"|
food.9 =="bread"|food.10 =="bread"|
food.1 =="rice"|food.2 =="rice"|
food.3=="rice"|food.4 =="rice"|
food.5 =="rice"|food.6 =="rice"|
food.7 =="rice"|food.8 =="rice"|
food.9 =="rice"|food.10 =="rice"|
food.1 =="cake"|food.2 =="cake"|
food.3 =="cake"|food.4 =="cake"|
food.5 =="cake"|food.6 =="cake"|
food.7 =="cake"|food.8 =="cake"|
food.9 =="cake"|food.10 =="cake")
【问题讨论】:
-
真的,解决办法就是让你的数据整洁。不要使用编号列,将数据转换为长格式,这样只有一列
food,其中当前每一行包含 10 行。 -
更好地重塑数据。我仍然建议发布
dput(df)或dput(head(df, n=10)),我们可以使用它们。 -
非常感谢。我显然是想多了。现在排序