相关疑难解决方法(0)

如何加入(合并)数据框(内部,外部,左侧,右侧)?

给出两个数据框:

df1 = data.frame(CustomerId = c(1:6), Product = c(rep("Toaster", 3), rep("Radio", 3)))
df2 = data.frame(CustomerId = c(2, 4, 6), State = c(rep("Alabama", 2), rep("Ohio", 1)))

df1
#  CustomerId Product
#           1 Toaster
#           2 Toaster
#           3 Toaster
#           4   Radio
#           5   Radio
#           6   Radio

df2
#  CustomerId   State
#           2 Alabama
#           4 Alabama
#           6    Ohio
Run Code Online (Sandbox Code Playgroud)

我怎样才能做数据库风格,即sql风格,加入?也就是说,我该怎么做:

  • 一个内连接df1df2:
    只返回行中左表在右表匹配的密钥.
  • 一个外连接df1df2:
    返回两个表中的所有行,从有右表中的匹配键左连接记录.
  • 甲 …

merge join r dataframe r-faq

1155
推荐指数
13
解决办法
108万
查看次数

如何将行附加到R数据框

我查看了StackOverflow,但我找不到特定于我的问题的解决方案,这涉及将行附加到R数据帧.

我正在初始化一个空的2列数据帧,如下所示.

df = data.frame(x = numeric(), y = character())
Run Code Online (Sandbox Code Playgroud)

然后,我的目标是迭代一个值列表,并在每次迭代中,将值附加到列表的末尾.我从以下代码开始.

for (i in 1:10) {
    df$x = rbind(df$x, i)
    df$y = rbind(df$y, toString(i))
}
Run Code Online (Sandbox Code Playgroud)

我也试图功能c,append以及merge没有成功.如果您有任何建议,请告诉我.

merge r append rows dataframe

109
推荐指数
4
解决办法
31万
查看次数

合并R中的两个数据帧

我在数据帧中有139104行的数据,这是96x1449的倍数.我有一个表型文件,其中包含96个样本的表型信息.snp名称重复1449X96个样本.我必须根据sid和sen合并两个数据帧.这就是我的两个数据帧的样子

dat <- data.frame(
    snpname=rep(letters[1:12],12),
    sid=rep(1:12,each=12), 
    genotype=rep(c('aa','ab','bb'), 12)
)
pheno <- data.frame(
    sen=1:12,
    disease=rep(c('N','Y'),6), 
    wellid=1:12
)
Run Code Online (Sandbox Code Playgroud)

我必须将疾病列和其他3列合并或添加到数据文件中.我无法在R中使用合并.我搜索了谷歌,我没有达到正确的条款来得到答案.我很感激在这个问题上的任何意见.

谢谢,沙拉德

merge r

10
推荐指数
1
解决办法
2万
查看次数

如何在R中合并两个data.frames,引用查找表

我试图将两个合并data.frames在一起,基于每个被调用的公共列名称series_id.这是我的合并声明:

merge(test_growth_series_LUT,  test_growth_series, by = intersect(series_id, series_id))
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

as.vector(y)出错:找不到对象'series_id'

帮助提供了这个描述,但我不明白为什么它找不到series_id.示例数据如下.

### S3 method for class 'data.frame':
   #merge(x, y, by = intersect(names(x), names(y)),
   #      by.x = by, by.y = by, all = FALSE, all.x = all, all.y = all,
   #      sort = TRUE, suffixes = c(".x",".y"), ...)



# Create a long data.frame to store data...
test_growth_series = data.frame ("read_day" = c(0, 3, 9, 0, 3, 9, 0, 2, 8), 
"series_id" = c("p1s1", "p1s1", "p1s1", "p1s2", …
Run Code Online (Sandbox Code Playgroud)

merge r dataframe

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

merge ×4

r ×4

dataframe ×3

append ×1

join ×1

r-faq ×1

rows ×1