我已经基于已经存在的数据帧(名为"old“)在r中创建了一个新的dataframe (称为"averages")。"averages”有一个列,其中包含来自"old“中某列的所有唯一值。现在,我想从"old”到"averages“中添加另一列,其中"old”中的值与“old”中另一列中的唯一值相匹配。
我用来制作新数据帧的东西:
> averages <- data.frame(unique(old$Tree), avg) ## creating new dataframe这是我试图添加新列的代码:
> averages <- data.frame(unique(old$Tree), avg, old$Site) ## creating new dataframe我得到了这个错误:
Error in data.frame(unique(old$Tree), avg, old$Site) : arguments imply differing number of rows: 50, 1110我试着用这个解决这个问题,但我认为它不会起作用(它没有):
> averages <- data.frame(unique(old$Tree), avg, unique(old$Site)) ## creating new dataframe
Error in data.frame(unique(old$Tree), avg, unique(old$Site)) : arguments imply differing number of rows: 50, 3 任何关于如何添加这个新专栏的帮助都将不胜感激!
发布于 2020-07-14 03:36:10
看起来您可以使用dplyr完成此操作
install.packages("tidyverse")
library(tidyverse)
df <- left_join(averages, old, by = c("ID_col_in_averages" = "ID_col_in_old"))如果我理解正确的话,连接中使用的两个ID列都是树
https://stackoverflow.com/questions/62882559
复制相似问题