我在R工作,我想迭代列表的行,并按名称引用列值,如下所示:
for(row in Data) {
name <- row$name
age <- row$age
#do something cool here
}
Run Code Online (Sandbox Code Playgroud)
我的数据如下所示:
name, age, gender, weight
Bill, 23, m, 134
Carl, 40, m, 178
Run Code Online (Sandbox Code Playgroud)
我知道这应该是微不足道的,但我无法找到帮助.提前谢谢.
所以这是我正在使用的原始数据.早期的表格就是一个例子:
structure(list(startingTemp = c(100L, 100L, 100L, 100L, 100L),
endingTemp = c(1L, 1L, 1L, 1L, 1L), movesPerStep = c(200000L,
100000L, 20000L, 10000L, 2000L), coolingCoefficient = c(0.99,
0.99, 0.99, 0.99, 0.99), numberTempSteps = c(459L, 459L,
459L, 459L, 459L), costPerRun = c(91800000L, 45900000L, 9180000L,
4590000L, 918000L)), .Names = c("startingTemp", "endingTemp",
"movesPerStep", "coolingCoefficient", "numberTempSteps", "costPerRun"
), row.names = c(NA, 5L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)
Dav*_*son 10
你可以这样做apply:
apply(Data, 1, function(row) {
name <- row["name"]
age <- row["age"]
#do something cool here
})
Run Code Online (Sandbox Code Playgroud)
这通常用于返回新的向量,矩阵或列表,这取决于函数返回的内容.例如,假设您要将函数numberTempSteps / costPerRun应用于每一行.你会这样做:
apply(Data, 1, function(row) row["numberTempSteps"] / row["costPerRun"])
Run Code Online (Sandbox Code Playgroud)
(请注意,对于此示例,您也可以这样做Data$numberTempSteps / Data$costPerRun).
| 归档时间: |
|
| 查看次数: |
14097 次 |
| 最近记录: |