我有2个数据框,尺寸如下:
dim (df1)
[1] 1418 1
dim (df2)
[1] 1418 1
所以我每个DF只有1列,行数相同。我想将第二个数据框添加到第一个数据框,以便我有一个1418行和2列的调光。
我这样做了:
df1[,2] = df2[,1] # and this:
dfnew = merge (df1, df2)
但它不起作用。知道怎么做吗?
答案 0 :(得分:2)
merge
功能要求您在data.frame
组合之间拥有共享列。在您的情况下,每个只有一列,但情况可能并非如此。
正如@Lyngbakr在评论中指出的那样,你想要使用cbind
,它们将这两者结合在一起。例如,dfnew = cbind(df1,df2)
cbind
适用于矢量,data.frame
和data.frame
类似对象和矩阵。
答案 1 :(得分:1)
@RestController
public class AddressRepoAdditionals {
@Autowired
private AddressRepository repo;
@RequestMapping("/additional/address/distictCities")
public List<String> findDistinctCity() {
return repo.findDistinctCity();
}
}
只要长度相同(由nrow(df1)= = nrow(df2)
隐含,这应该有效)您还可以使用dplyr,它具有性能和链接的优点(并避免一些冗余语法)。两个选项:
df1$addl_col<-df2$col
虽然这对于dplyr来说有点不正统,正如引号的必要性所示。