0
我在數據SocialData中有名爲count_of_people
的列。我想查找count_of_people
的日誌值,並用新的日誌值替換count_of_people
的值。這如何實現?如何用新值重寫列?
嘗試以下操作: within(SocialData, count_of_people <- log(SocialData$count_of_people))
但它沒有工作。
我在數據SocialData中有名爲count_of_people
的列。我想查找count_of_people
的日誌值,並用新的日誌值替換count_of_people
的值。這如何實現?如何用新值重寫列?
嘗試以下操作: within(SocialData, count_of_people <- log(SocialData$count_of_people))
但它沒有工作。
有幾種選擇
一般:
SocialData$count_of_people <- log(SocialData$count_of_people)
但編程自己的功能時,我認爲這是醜陋的,所以最有用的。
替代品,我覺得更好/更易讀的腳本是:
SocialData <- transform(SocialData, count_of_people = log(count_of_people))
或
SocialData <- within(SocialData, count_of_people <- log(count_of_people))
例如
set.seed(10)
SocialData <- data.frame(A = 1:10, count_of_people = rpois(10, 5))
SocialData.t <- transform(SocialData, count_of_people = log(count_of_people))
SocialData.w <- within(SocialData, count_of_people <- log(count_of_people))
head(SocialData.t)
head(SocialData.w)
,並提供:?
> head(SocialData.t)
A count_of_people
1 1 1.6094379
2 2 1.3862944
3 3 1.3862944
4 4 1.7917595
5 5 0.6931472
6 6 1.0986123
> head(SocialData.w)
A count_of_people
1 1 1.6094379
2 2 1.3862944
3 3 1.3862944
4 4 1.7917595
5 5 0.6931472
6 6 1.0986123
你within()
調用看起來OK(除了在log()
呼叫冗餘SocialData$
是否指定從within()
呼叫切換到SocialData
對象的輸出。如果沒有,你創建了一個新的數據框與修改,然後打印或丟棄它,而不改變原來的SocialData
對象。
@RStudent工作得很好! – Gworld 2015-02-11 18:25:42