【发布时间】:2023-01-27 03:31:58
【问题描述】:
我有一个数据集,其中对一个事件的观察发生在不同的变量中。举一个更清楚的例子,想象一下: 4 人被告知到树林里去登记树木。他们被告知按照偶然发现树的顺序记下树的类型。因此,每个人交出他们找到的第一到第四棵树的清单。它产生了这个数据框:
treedata <- structure(list(ID = c(1, 2, 3, 4), Tree_1 = c("birch", "oak",
"oak", "alder"), Tree_2 = c("oak", "sequoia", "birch", "oak"),
Tree_3 = c("sequoia", NA, "alder", "birch"), Tree_4 = c("alder",
NA, NA, "sequoia")), class = "data.frame", row.names = c(NA,
4L))
数据看起来像这样
然后数据科学家被告知计算每种树类型的观察次数。但问题是,例如“birch”出现在 ID 1 的变量“Tree_1”中,ID 3 的“Tree_2”和 ID 4 的“Tree_3”中。
基本上我想在这里做的是将 Tree_x 变量转换为“birch”变量、“oak”变量等等,然后如果 ID 偶然发现了那棵树,则分配一个值 Yes 或 No。除了计算树木之外,新变量还将用于将树木与数值变量相关联。
我的第一个想法是使用“联合”,然后重新排列,使每棵树的顺序相同,然后创建一个新变量。但是我没有成功,因为有 NA,所以还是有点困难。
有没有人有办法解决吗?我试过谷歌搜索和搜索,但没有任何运气。
【问题讨论】:
-
请显示您对该示例的预期输出
-
谢谢你。使用预期输出编辑帖子。但是不确定我是否要在空单元格中显示“NA”或“否”。
标签: r