R-错误的引用和变量设置

用户名

你好呀!

在下面的示例中,引用似乎存在问题。该代码重新组合了2v2游戏的象棋排名系统的计算。“数据”中的每一行都是游戏的结果

users表包含所有正在玩游戏的人。人们可以玩6类游戏:“ INT”,“ LKS”,“ SOD”,“ SJV”,“ LOY”和“ STA”。“性别”列表示具有0或1的男性/女性-永远不要更新此列。

数据文件在本文结尾处提供。这是我现在拥有的代码:

data <- read.csv("data.txt", header=F, quote="")
colnames(data) <- c("user", "p1","p2", "skill","win","looser","time")

data <- data[-which(data$user==data$p1),]
data <- data[-which(data$user==data$p2),]

users <- data.matrix(read.csv("users.txt", header = FALSE, row.names = 1))
colnames(users) <- c("sex", "INT", "LKS", "LOY", "SJV", "SOD", "STA")
  for (i in 1:nrow(data)) {
    game <- data[i,]
    winner.old <- users[game$win,    game$skill]
    looser.old <- users[game$looser, game$skill]
    winner.new <- winner.old + 32/2 * (1 - 0 + (1/2) * (looser.old-winner.old) / 200)
    looser.new <- looser.old + 32/2 * (0 - 1 + (1/2) * (winner.old-looser.old) / 200)
    users[game$win,    game$skill] <- winner.new
    users[game$looser, game$skill] <- looser.new
  }

问题是

users[game$win,    game$skill]

这似乎引用了错误的技能专栏。我试图在下图中显示问题。抱歉,这有点混乱-但我尝试对它进行颜色编码!此输出从i <-1生成。运行整个for循环,您会看到STA列显示为“未触及”-它始终使用应该使用的列中的左列。

在此处输入图片说明

数据 http://textuploader.com/o68x

users.txt http://textuploader.com/o68g

罗兰

因数在内部是整数,如果将它们用于子集,则使用内部表示形式:

DF <- data.frame(x=1:10)
DF$g <- c("b", "a")
#     x g
# 1   1 b
# 2   2 a
# 3   3 b
# 4   4 a
# 5   5 b
# 6   6 a
# 7   7 b
# 8   8 a
# 9   9 b
# 10 10 a

col <- factor("g", levels=c("g", "x"))

DF[, col]
#[1]  1  2  3  4  5  6  7  8  9 10
as.integer(col)
#[1] 1

您需要将因子转换为字符以进行子设置:

DF[, as.character(col)]
#[1] "b" "a" "b" "a" "b" "a" "b" "a" "b" "a"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

R对数据帧和变量的通用引用

如何在 R 编程中设置变量的长度和标签

如何在 R 中设置和使用 bash 变量

通过在R中设置和引用两个数据框来创建新的数据框

Plotmath 符号和对 R 绘图图例中变量的引用:可能没有 Unicode 字符?

R如何进行赋值和引用从字符串转换而来的变量名

输出预定义的变量“ make -R”引用?

R通过变量引用列表中的元素

用于获取对变量的引用的R函数

与MCC错误和mbuild有关的问题-R2013b的设置设置和Matlab的deploytool

R中所有变量的分组图和垂直轴的设置限制不同

R:根据列表在数据框中设置变量类型和级别

设置SocketIO和Flask我收到此错误:“ UnboundLocalError:分配前引用了本地变量'ssl_socket'”

getDataArray()和“未设置对象变量”错误

L和R参考变量

R:同名的变量和函数

在 dplyr 和 R 统计信息中汇总数据的变量:使用“.data”代词引用存储为字符串的列名:

R-“ CAPdiscrim”和“ lda”错误“变量1在组内似乎是恒定的”

R - 以字符、时间和日期变量为条件的嵌套 ifelse 中的错误

如何在Jenkinsfile中设置和引用变量

查询中的 R 和 SQL 引用

表和图交叉引用官R

Rcpp和R:通过引用传递

CodeIgniter错误:变量引用

R-stringdist成本设置错误

R子设置列表“尺寸错误”

在gtsummary包中为R中的tbl_summary函数设置类别和连续变量的主题

当在多行注释中引用变量(设置-u)时,发生Bash“未绑定变量”错误

为什么在此代码中可以引用“ r”变量?