如果R資料框中某些列是分類列,如何查詢每列值的自然對數?
如果R資料框中某些列是分類列,要查詢每個值的自然對數,我們可以按照以下步驟操作:
首先,建立一個數據框。
然後,使用plyr包中的numcolwise函式,如果某些列是分類列,則查詢自然對數。
示例
建立資料框
讓我們建立一個如下所示的資料框:
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 first 32 83 2 medium first 21 97 3 medium first 30 46 4 medium first 25 99 5 medium second 10 63 6 low second 11 2 7 medium first 17 98 8 low first 8 81 9 high second 23 23 10 high first 16 68 11 high second 33 60 12 medium second 9 52 13 medium second 6 56 14 medium first 45 40 15 low second 31 14 16 low first 26 72 17 high second 18 77 18 medium first 43 85 19 medium first 34 73 20 medium second 12 64 21 low second 39 29 22 medium first 36 37 23 low second 15 33 24 medium second 14 57 25 low second 37 35
如果某些列是分類列,則查詢自然對數
使用plyr包中的numcolwise函式來查詢資料框df中數值列中每個值的自然對數:
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(log)(df)輸出
Score Demand 1 3.465736 4.4188406 2 3.044522 4.5747110 3 3.401197 3.8286414 4 3.218876 4.5951199 5 2.302585 4.1431347 6 2.397895 0.6931472 7 2.833213 4.5849675 8 2.079442 4.3944492 9 3.135494 3.1354942 10 2.772589 4.2195077 11 3.496508 4.0943446 12 2.197225 3.9512437 13 1.791759 4.0253517 14 3.806662 3.6888795 15 3.433987 2.6390573 16 3.258097 4.2766661 17 2.890372 4.3438054 18 3.761200 4.4426513 19 3.526361 4.2904594 20 2.484907 4.1588831 21 3.663562 3.3672958 22 3.583519 3.6109179 23 2.708050 3.4965076 24 2.639057 4.0430513 25 3.610918 3.5553481
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP