-1
我已經向R中輸入了一些數據,其中有兩個變量。其中一個變量的所有數據都是1或2,我試圖將其分類。將因子分解爲R
當我嘗試data.f<-factor(data)
我得到錯誤信息
「錯誤sort.list(Y): 'X' 必須是原子的 'sort.list'
你叫在列表中「排序」?我不知道這是什麼意思。
有人可以建議如何分解我的數據嗎?
我已經向R中輸入了一些數據,其中有兩個變量。其中一個變量的所有數據都是1或2,我試圖將其分類。將因子分解爲R
當我嘗試data.f<-factor(data)
我得到錯誤信息
「錯誤sort.list(Y): 'X' 必須是原子的 'sort.list'
你叫在列表中「排序」?我不知道這是什麼意思。
有人可以建議如何分解我的數據嗎?
根據您的相當簡短的描述和給出的錯誤信息,我假設您的問題是您在整個數據框data
上調用factor
。
請注意,因子始終對應於單個變量。至於你說你在你的數據幀中的兩個變量,讓我們嘗試下面的例子:
> myDataFrame <- data.frame(x = c(1,2,2,2,1,2,2,1), y = 1:8)
> factor(myDataFrame)
Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?
如果要計算一個因素第一個變量,然後執行,而不是執行以下操作:
> myFactor <- factor(myDataFrame$x) # or factor(myDataFrame[,1])
然後,您可以使用myFactor
排序數據幀像這樣:
> myDataFrame[order(myFactor),]
x y
1 1 1
5 1 5
8 1 8
2 2 2
3 2 3
4 2 4
6 2 6
7 2 7
最後,請注意,其實沒有必要在這裏的一個因素。由於您的變量已經是數字,因此您可以直接使用它,如
> myDataFrame[order(myDataFrame$x),]
這將產生完全相同的結果。
如果您沒有提供可重現的數據示例,沒有人能夠爲您提供幫助。花時間做一個,這將是值得的。說明:http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example – rmuc8 2015-04-03 14:10:21
@ r.496考慮接受答案,如果它解決了你的問題。 – fotNelton 2015-04-04 11:50:22