我在RODBC中遇到过这种行为(使用SQL Server驱动程序):
df1 = data.frame(matrix(c(1:20), nrow=10))
df1
输出
X1 X2
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18
9 9 19
10 10 20
这是有道理的。然后我使用RODBC
保存表格sqlSave(conout, df1, 'TEST')
然后我切换两个创建的列:
df2 = df1[,c(2,1)]
df2
输出
X2 X1
1 11 1
2 12 2
3 13 3
4 14 4
5 15 5
6 16 6
7 17 7
8 18 8
9 19 9
10 20 10
这也是有道理的。
看到这两个表,我看到X1只包含1:10而X2只包含11:20。现在,当我做的时候
sqlSave(conout, df2, 'TEST', append=TRUE, fast=FALSE)
sqlQuery(conout, 'SELECT * FROM TEST')
rownames X1 X2
1 1 1 11
2 2 2 12
3 3 3 13
4 4 4 14
5 5 5 15
6 6 6 16
7 7 7 17
8 8 8 18
9 9 9 19
10 10 10 20
11 1 11 1
12 2 12 2
13 3 13 3
14 4 14 4
15 5 15 5
16 6 16 6
17 7 17 7
18 8 18 8
19 9 19 9
20 10 20 10
这绝对不是我保存的。现在有三个问题: