我與數字列標籤的矩陣,例如:如何阻止R將X預先添加到我的數字列標籤中?
1,2,3
1,2,3
4,5,6
7,8,9
當我使用as.matrix(read.table("myfile", sep=",", header=TRUE)
這個數據加載到R中的變量,並打印所得到的矩陣,列標題已被預先考慮與X,和這額外字符出現在圖中等:
X1 X2 X3
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
我該如何阻止此行爲?
我與數字列標籤的矩陣,例如:如何阻止R將X預先添加到我的數字列標籤中?
1,2,3
1,2,3
4,5,6
7,8,9
當我使用as.matrix(read.table("myfile", sep=",", header=TRUE)
這個數據加載到R中的變量,並打印所得到的矩陣,列標題已被預先考慮與X,和這額外字符出現在圖中等:
X1 X2 X3
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
我該如何阻止此行爲?
供應check.names=FALSE
至read.table
。
請注意,當data.frame
具有非標準名稱時,對其列的任何引用都必須用刻度線包圍,例如,
my.df <- read.table(text='1,2,3
1,2,3
4,5,6
7,8,9', header=TRUE, sep=',', check.names=FALSE)
my.df$`1`
with(my.df, `1`)
attach(k)
`1`
此外,調用transform
,如,將取代他們的標準形式(X1
,X2
,X3
),因爲transform
電話data.frame()
其默認參數的列名。
設置check.names=FALSE
雖然在某些非常特殊的情況下很有用,但會允許重複的列名和非語法名,這可能會導致以後出現任何數量的問題。使用時請小心謹慎。
data.frame()
默認情況下使用check.names=TRUE
,因爲在許多情況下,R嘗試將數據幀的列名解釋爲變量;如果列名不是語法上有效的名稱(請參閱?make.names
),或者如上所述使用反標記進行保護,則在這些上下文中將出現錯誤。
我懷疑你沒有理解這條道路的不利後果。 –