r-factor

    2熱度

    3回答

    我正在重構物種名稱的數據集。它有一個拉丁名字的列和一些列有名字的列,當這些名字可用時。我想創建一個第三列,在可用時給出一個簡單的名字,否則就是拉丁名字。平凡的名字和拉丁名字都是因素級的。 我曾嘗試使用if循環: if(art2$trivname==""){ art2$artname=trivname }else{ art2$artname=latname

    2熱度

    1回答

    免責聲明:該項目始於其他人的代碼,並且我確定存在非最佳的設計決策,但我的手比我自己的手更緊密項目。 我有一個機器學習算法,它使用一個訓練好的模型對象和一組評分數據來創建一個評分數據的數據框。模型對象是一個包含公式和數據框的列表。 該模型的數據框架的作用之一是確保評分數據框具有與模型期望的列相同的列,並且這些列的因子級別相同。爲了達到這個目的,我們在model$df(數據幀)中存儲一行任意一行的訓練

    17熱度

    2回答

    我查看了一些關於訂購因素的帖子,但並未完全找到與我的問題匹配的信息。不幸的是,我對R的認識還很不成熟。 我有我正在使用的一個考古工件目錄的子集。我試圖交叉列表診斷歷史工件類型和站點測試位置。使用ddply或tapply可以輕鬆完成。 我的問題是,我想通過它們的平均診斷日期(數字/年)對工件類型(因子)進行排序,並且我一直按字母順序排列它們。我知道我需要將它作爲一個有序的因素,但無法弄清楚如何按照其

    18熱度

    1回答

    我有一個函數,我定義了一個data.frame我使用循環來填充數據。在某些時候我得到的警告消息: 警告消息: 1:在[<-.factor(*tmp*,ISEQ,值= 「CHANGE」):的NAS產生 因此 無效因子水平,當我定義我的data.frame時,我想將選項stringsAsFactors設置爲FALSE,但我不明白該怎麼做。 我曾嘗試: DataFrame = data.frame(st

    0熱度

    1回答

    生成一個二分變量我有在它的因子的數據幀,如: > var1 <- gl(10, 2, labels=letters[1:10]) > var2 <- c(1:20) > data <- data.frame(var1=var1,var2=var2) > data var1 var2 1 a 1 2 a 2 3 b 3 4 b 4 5 c 5 6 c 6 7

    0熱度

    1回答

    我使用GAM模型根據給定點的某些環境條件來預測物種丰度。我創建了一個廣義相加模型(GAM)來做到這一點,並根據我的預測。然而,在模型方程中我有一個分類變量(沉積物 type = [1,2,3,4])。該方程似乎工作得很好,但 擬合的結果似乎吸收因子水平'1'進入截距。見下文。 任何人都可以解釋這個模型發生了什麼?我不完全明白。這是用mgcv包在R中運行的。謝謝! Equation: abu

    0熱度

    3回答

    我有一個大的data.frame(1.9M記錄,20列)。其中一列是具有不同長度數字值的因子列(不同數量的字符/數字,例如567839,2344324324,3243211等)。 注意:這些是數字代碼,沒有實際值,也可能只是字符這個例子的長度不同。 現在我想轉換並因素成爲13位因素,以這樣的方式,一個因素得到前面的零的情況下的位數少於13 例子: Old factor Length New fa

    4熱度

    1回答

    我正在生成不同級別的大量因素列表,並且我希望能夠檢測到其中兩個定義相同分區的時間。例如,我想要檢測以下所有內容,因爲它們彼此等效: x1 <- factor(c("a", "a", "b", "b", "c", "c", "a", "a")) x2 <- factor(c("c", "c", "b", "b", "a", "a", "c", "c")) x3 <- factor(c("x",

    0熱度

    2回答

    我想在R中做一些數據處理。我有2個數據幀,一個是訓練數據,另一個測試數據是所有數據都是分類的,並存儲爲因子變量。 數據中有一些NA,我試圖將它們轉換爲「-1」。當我爲訓練數據做這件事時,情況會好起來,但不適用於測試數據。 有些東西在一個循環中改變了我運行的值,但我無法弄清楚什麼。 這裏是前: > class(catTrain1[,"Cat_111"]) [1] "factor" > class

    0熱度

    2回答

    基於因子變量水平的觀測數目,您如何子集?我有一個包含1,000,000行和近3000個級別的數據集,我想用較少的200個觀察值對子級進行子集化。 data <- read.csv("~/Dropbox/Shared/data.csv", sep=";") summary(as.factor(data$factor) 10001 10002 10003 10004 10005 10006 10