r - R:在for循环中创建新变量并赋值
问题描述
我想创建一个新变量,分配一个值列表,然后写入一个分层数据框。我尝试了以下内容,但没有写入。
for(i in 1:sample){
for(j in 1:10){
x[,j]<-0
name <- paste("hierdata[[i]]$Test", j, sep = "_")
assign(name, rowSums(alpha+beta+x)))
}
}
感谢一些帮助。
解决方案
要解决 @Moody_Mudskipper 的评论:
声明分层数据的最佳方法是使用索引列表:
hierdata <- lapply(1:sample,
function(iterator)
{
temp_list <- lapply(1:10,
function(j)
{
x[,j]<-0
value <- rowSums(alpha+beta+x)
return(value)
})
names(temp_list) <- lapply(1:10,function(j){paste0("temp_",j)})
return(temp_list)
})
不是真正的“一个班轮”,但它包含所有好的“东西”。Lapply 默认返回列表,因此它只是将列表嵌套在每个列表中。
希望你喜欢一些“好习惯”。:) 我只是想在第一次尝试中准确地解决您的问题。
推荐阅读
- html - " :checked " 这个属性不工作
- swift - 领域错误 Domain=io.realm.unknown Code=89 "操作取消"
- c# - 无法访问存储在 C# 模型中的值
- c++ - “wasm-ld:错误:未知文件类型:d000205.o”(wasm 和外部库)
- javascript - domcontentloaded 是否等待其他脚本完成加载?
- python - 尽管使用了 itemsBoundingRect(),但 QGraphicsScene 和 fitInView() 无法正确缩放
- karate - 空手道 - 如何通过 java 获取特征文件名
- html - 让列仅填充屏幕的一定百分比
- java - 重试不回滚弹簧批处理异步处理器
- php - 如何不自动启动视频?