[英]Assign a "value" to a particular observation in R
我的頻率計數與世界上一定數量的國家一致
數據=
S <- c("a","b","c","d","e")
n <- c(1,2,3,4,5)
df<- data.frame(S,n)
我想創建一些與每個值的 n 值一致的值,並用相關的下標命名:
Pa = n 用於狀態 a Pb = n 用於狀態 b 等等。
即使我可以去:
Pa <- 1
Pb <- 2
我將使用許多不同的數據幀,它們使用相同的狀態,但每次都會產生不同的 n 值。
我擔心這是一個非常基本的問題,但是我能做些什么來為與狀態 a 一致的每個可能的 n 創建一個 Pa 值?
讓我們嘗試一個簡單的例子,看看它是否是你想要做的:
set.seed(42)
states <- sample(letters[1:5], 25, replace=TRUE)
tbl <- table(states)
tbl
# states
# a b c d e
# 7 6 2 5 5
states.df <- data.frame(tbl)
states.df
# states Freq
# 1 a 7
# 2 b 6
# 3 c 2
# 4 d 5
# 5 e 5
結果是一個顯示每個狀態頻率的數據框。 您可以輕松地在代碼中引用這些值,而無需為每一行創建變量,但可以這樣做:
ls()
# [1] "states" "states.df" "tbl"
for(i in seq(nrow(states.df))) assign(paste0("P", states.df[i, 1]), states.df[i, 2])
ls()
# [1] "i" "Pa" "Pb" "Pc" "Pd" "Pe" "states" "states.df"
[9] "tbl"
Pa
# [1] 7
Pe
# [1] 5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.