如何在 R 資料框中查詢每列的值的對數(log10),其中某些列是分類變數?
如果 R 資料框中某些列是分類變數,要查詢每個值的 log10,我們可以按照以下步驟操作:
首先,建立一個數據框。
然後,使用 plyr 包中的 numcolwise 函式,如果某些列是分類變數,則查詢 log10。
示例
建立資料框
讓我們建立一個如下所示的資料框:
Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
Score<-sample(1:50,25)
Demand<-sample(1:100,25)
df<-data.frame(Level,Group,Score,Demand)
df輸出
執行上述指令碼後,將生成以下輸出(此輸出由於隨機化而在您的系統上會有所不同):
Level Group Score Demand 1 low second 30 9 2 high first 42 48 3 medium first 14 88 4 high second 27 63 5 high first 37 97 6 medium first 38 39 7 high second 13 18 8 high first 16 14 9 low second 40 90 10 medium first 25 53 11 low second 48 78 12 high second 28 64 13 low first 22 32 14 medium first 1 31 15 high first 2 21 16 low second 17 26 17 high first 5 41 18 medium first 49 85 19 low second 45 29 20 low first 9 49 21 medium first 31 44 22 medium first 29 46 23 high second 10 36 24 low second 21 33 25 low second 35 40
如果某些列是分類變數,則查詢 log10
使用 plyr 包中的 numcolwise 函式查詢資料框 df 中每個數值列的值的 log10:
Level<-sample(c("low","medium","high"),25,replace=TRUE)
Group<-sample(c("first","second"),25,replace=TRUE)
Score<-sample(1:50,25)
Demand<-sample(1:100,25)
df<-data.frame(Level,Group,Score,Demand)
library(plyr)
numcolwise(log10)(df)輸出
Score Demand 1 1.2552725 1.851258 2 1.3424227 1.477121 3 1.6334685 1.041393 4 1.6020600 1.986772 5 1.6532125 1.944483 6 1.5910646 1.934498 7 1.5440680 1.897627 8 1.2787536 1.977724 9 1.4913617 1.857332 10 1.5051500 0.602060 11 1.5682017 1.505150 12 1.3979400 1.230449 13 0.8450980 1.681241 14 0.6989700 1.748188 15 1.6720979 0.903090 16 1.4623980 1.863323 17 1.0000000 1.799341 18 1.1139434 1.380211 19 1.5563025 1.982271 20 0.9542425 0.698970 21 0.7781513 1.633468 22 1.0413927 1.707570 23 1.5797836 1.792392 24 1.6901961 1.556303 25 1.6989700 1.806180
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP