簡體   English   中英

為 R 中的特定觀察分配一個“值”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM