给出两个数据框:
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风格,加入?也就是说,我该怎么做:
我查看了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没有成功.如果您有任何建议,请告诉我.
我在数据帧中有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中使用合并.我搜索了谷歌,我没有达到正确的条款来得到答案.我很感激在这个问题上的任何意见.
谢谢,沙拉德
我试图将两个合并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)