r - 从数据框R中的字符列表中用字符x次填充一列
问题描述
我想用列表中的字符 x 次填充数据框,但是当我尝试使用函数fill
时它不起作用。我的数据集非常大,我需要在一个循环中做所有事情,因为我需要为下一次迭代重新做一遍。到目前为止,这是我的代码
sp <- c("Deer", "Moose", "Wildboar", "Bear", "Wolf")
mon <- 1:7
m <- matrix(nrow = 35, ncol = 2)
data <- as.data.frame(m)
colnames(m) <- c("Species", "Month")
现在,我想用 1-7 填充“月”列 5 次,所以该列看起来像这样(11111222223333344444555556666677777)。我想用 DeerDeerDeerDeerDeerMooseMooseMooseMooseMooseWildboarWildboarWildboarWildboarWildboarBearBearBearBearWolfWolfWolfWolfWolf 填写“物种”列。
我尝试循环执行此操作,但它只创建了四个新列,并且只用鹿、驼鹿、野猪和熊填充了前四行。
for(i in 1:length(sp)) {
for(j in 1:length(mon)) {
data[i,j] <- sp[i]
}
}
有没有其他人遇到过同样的问题?
解决方案
您可以使用rep
witheach
命令。
df <- data.frame(Species = rep(sp, each = 7), Month = rep(mon, each = 5))
df
# Species Month
#1 Deer 1
#2 Deer 1
#3 Deer 1
#4 Deer 1
#5 Deer 1
#6 Deer 2
#7 Deer 2
#8 Moose 2
#9 Moose 2
#10 Moose 2
#....
#....
推荐阅读
- javascript - 仅使用数据量选择元素
- wordpress - 自动在 LinkedIn 文章上重新发布 WordPress 帖子
- android - 找不到变量:反应本机android应用程序中的缓冲区
- ios - 干净构建后找不到 myProjectName-Swift.h
- php - RecyclerView 没有加载数据
- postgresql - 有没有办法在 pgadmin 中插入驼峰表名?
- java - 如何在没有 xml 的情况下配置 Ehcache 3 + spring boot + java config?
- javascript - 检查自上次点击后的时间是否大于 2 秒
- c# - 标签中的文本被截断
- python - numpy linalg中的特征值排序