从意外事件创建向量 table
Create vectors from a contingency table
我有气象站和出现频率的偶然性table。我使用逻辑索引从 table 创建单独的向量,如下所示 (b1:b5)。但是,必须有一种更简单的方法,也许来自 apply 系列。谁能提供这样的例子,谢谢
mf1<-c("USW00023047","USW00013966","USC00416740","USC00413828", "USC00414982", "USC00414982", "USW00013966", "USW00013966", "USW00003927",
"USW00003927", "USC00412019", "USC00411596", "USW00012960", "USW00012960", "USW00012960", "USW00012960", "USW00012960", "USC00417327",
"USC00417327", "USC00418433", "USC00417743", "USC00419499", "USC00419847", "USR0000TCLM", "USR0000TCOL", "USW00012921", "USW00012921",
"USW00012970", "USW00012921", "USW00012921", "USW00012924")
table(mf1)
dfcont<-as.data.frame(table(mf1))
a<-dfcont$mf1
b1<-a[dfcont$Freq < 6]
b2<-a[dfcont$Freq == 2]
b3<-a[dfcont$Freq == 3]
b4<-a[dfcont$Freq == 4]
b5<-a[dfcont$Freq == 5]
您可以使用 split
:
temp <- split(as.character(dfcont$mf1), dfcont$Freq)
这将为您提供 temp
中的矢量列表。通常,最好将数据保存在列表中,但如果您希望将它们作为单独的向量,则为它们分配名称并使用 list2env
names(temp) <- paste0('b', seq_along(temp))
list2env(temp, .GlobalEnv)
您现在的全局环境中会有 b1
、b2
等。
我找不到比
更简单的东西了
tbl <- table(mf1)
split(names(tbl), tbl)
如果名称需要 b*
,通过将 "b"
作为前缀粘贴到当前名称来分配。
names(sp) <- paste0('b', names(sp))
我有气象站和出现频率的偶然性table。我使用逻辑索引从 table 创建单独的向量,如下所示 (b1:b5)。但是,必须有一种更简单的方法,也许来自 apply 系列。谁能提供这样的例子,谢谢
mf1<-c("USW00023047","USW00013966","USC00416740","USC00413828", "USC00414982", "USC00414982", "USW00013966", "USW00013966", "USW00003927",
"USW00003927", "USC00412019", "USC00411596", "USW00012960", "USW00012960", "USW00012960", "USW00012960", "USW00012960", "USC00417327",
"USC00417327", "USC00418433", "USC00417743", "USC00419499", "USC00419847", "USR0000TCLM", "USR0000TCOL", "USW00012921", "USW00012921",
"USW00012970", "USW00012921", "USW00012921", "USW00012924")
table(mf1)
dfcont<-as.data.frame(table(mf1))
a<-dfcont$mf1
b1<-a[dfcont$Freq < 6]
b2<-a[dfcont$Freq == 2]
b3<-a[dfcont$Freq == 3]
b4<-a[dfcont$Freq == 4]
b5<-a[dfcont$Freq == 5]
您可以使用 split
:
temp <- split(as.character(dfcont$mf1), dfcont$Freq)
这将为您提供 temp
中的矢量列表。通常,最好将数据保存在列表中,但如果您希望将它们作为单独的向量,则为它们分配名称并使用 list2env
names(temp) <- paste0('b', seq_along(temp))
list2env(temp, .GlobalEnv)
您现在的全局环境中会有 b1
、b2
等。
我找不到比
更简单的东西了tbl <- table(mf1)
split(names(tbl), tbl)
如果名称需要 b*
,通过将 "b"
作为前缀粘贴到当前名称来分配。
names(sp) <- paste0('b', names(sp))