我有一个数据框,使用excel导入库(readxl)。它包含长列数据,每列都有自己的列标题。现在我需要在新变量中存储特定值。我将列标题存储在矢量"标题"并且想要从特定行(例如151)中提取某些值并将其存储在新变量中。
我尝试使用下面的代码。我是R的新人,尝试了很多但都失败了......
example <- data.frame(c('N 1','N 2'), c(50, 60), c(70, 80))
titles <- c('N 1', 'N 2')
for (i in titles) {
(paste("nkorrigiert",i)) <- as.numeric(example[[paste(i)]][3])
}
dput(head(example))
得到这个
Fehler in(paste(&#34; nkorrigiert&#34;,i))&lt; - as.numeric(example [[paste(i)]] [3]): Ziel der Zuweisung expandiert zu keinem Sprachobjekt
> dput(head(example))
structure(list(c..N.1....N.2.. = structure(1:2, .Label = c("N 1",
"N 2"), class = "factor"), c.50..60. = c(50, 60), c.70..80. = c(70,
80)), .Names = c("c..N.1....N.2..", "c.50..60.", "c.70..80."),
row.names = 1:2, class = "data.frame")
我做错了什么?
答案 0 :(得分:0)
您可以使用assign
命令
example <- data.frame(c('N 1','N 2'), c(50, 60), c(70, 80))
titles <- c('N 1', 'N 2')
for (i in titles) {
assign(paste("nkorrigiert",i), as.numeric(example[[paste(i)]][3]))
}
dput(head(example))
R不明白你想要创建一个新变量
答案 1 :(得分:0)
在您的帮助和@lmo建议的帖子后,我能够解决它。感谢你们! :d
现在我的第一个代码几乎正在运行,是的!使用此代码在foor循环下可能
as.numeric(assign(paste("nkorrigiert",i), example[3, i]))
现在我只需要找出如何用for循环中存储在变量名中的值来计算!:D
一切顺利,塞巴斯蒂安