我有一个列表变量X,我想根据X的元素和长度在数据集中添加一个新的分类变量。例如,假设
X
[[1]]
[[1]]$In
[1] 3 4 5 6
[[2]]
[[2]]$In
[1] 7 8 9
[[3]]
[[3]]$In
[1] 11 12 13
library(stats)
library(graphics)
attach(cars)
cars$c<-NA
现在我想制作一个分类变量(c),对于数据集的行号或主题号等于3,4,5,c为1,对于等于7的行,8,9然后c将是2,如果数据集的行号等于11,12,13那么c将是3.我想知道我该怎么做。我需要一个循环函数,因为在我的实际数据中,X的长度可能在20左右。这意味着c将有20个类别,而一些单元格将是NA。我需要像
这样的东西In c
3 1
4 1
5 1
6 1
7 2
8 2
9 2
11 3
12 3
13 3
然后我需要将c列添加到汽车数据集(在R中可用)中,如果In的值与行号匹配,那么我们将包含c的值,否则c将是NA。
答案 0 :(得分:0)
app.route('/user/:name')
.all((req, res) => { ... console log here })
.get((req, res) => { ... })
这构造了一个data.frame。第一个函数df <- data.frame("In" = unlist(X), "c" = rep(seq_len(length(X)), sapply(X, lengths)))
将嵌套列表转换为自动向量。第二个元素,通过内部列表元素中向量中包含的元素数重复嵌套列表的元素位置。
unlist
数据强>
df
In c
1 3 1
2 4 1
3 5 1
4 7 2
5 8 2
6 9 2
7 11 3
8 12 3
9 13 3