for循环中的函数名不为';不工作
我有一组data.frame,列的维度相同,但行的数量不同for循环中的函数名不为';不工作,r,R,我有一组data.frame,列的维度相同,但行的数量不同 DATA.FRAME.A Column_A Column_B Column_C Column_D Column_E 2001-02-20 10 11 5 8 DATA.FRAME_B Column_F Column_G Column_W Column_T Column_Q 2008-08-7
DATA.FRAME.A
Column_A Column_B Column_C Column_D Column_E
2001-02-20 10 11 5 8
DATA.FRAME_B
Column_F Column_G Column_W Column_T Column_Q
2008-08-7 50 21 10 50
DATA.FRAME_C
Column_H Column_J Column_K Column_S Column_P
2001-02-02 13 15 61 7
我的目的是使所有data.frame的第一行都相同
我写这个循环是为了让我的代码变得简单
t <- list(DATA.FRAME_A, DATA.FRAME_B, DATA.FRAME_C)
for (i in t ) {
names[i] <- c("Data", "Open", "Max", "Minimun", "Close")
}
提前谢谢
弗朗西斯科试试这个:
t <- c("DATA.FRAME.A", "DATA.FRAME.B", "DATA.FRAME.C")
for (i in 1:length(t)) {
names(get(t[i])) <- c("Data", "Open", "Max", "Minimun", "Close")
}
t试试这个:
t <- c("DATA.FRAME.A", "DATA.FRAME.B", "DATA.FRAME.C")
for (i in 1:length(t)) {
names(get(t[i])) <- c("Data", "Open", "Max", "Minimun", "Close")
}
t考虑lappy
,它是apply系列的一部分,是有用的迭代函数,返回与输入相同数量的元素,在您的情况下可以返回修改后的数据帧元素。甚至考虑<代码> StimeNeSes()/Cyth>是返回命名对象的右手函数。
t <- list(DATA.FRAME_A, DATA.FRAME_B, DATA.FRAME_C)
# ITERATE THROUGH EACH DF OF t, RENAMING COLUMNS, RETURNING MODIFIED DF
new_t <- lapply(t, function(i) setNames(i, c("Data", "Open", "Max", "Minimun", "Close"))
# RESULTS
lapply(new_t, head)
t考虑lappy
,它是apply系列的一部分,是有用的迭代函数,返回与输入相同数量的元素,在您的情况下可以返回修改后的数据帧元素。甚至考虑<代码> StimeNeSes()/Cyth>是返回命名对象的右手函数。
t <- list(DATA.FRAME_A, DATA.FRAME_B, DATA.FRAME_C)
# ITERATE THROUGH EACH DF OF t, RENAMING COLUMNS, RETURNING MODIFIED DF
new_t <- lapply(t, function(i) setNames(i, c("Data", "Open", "Max", "Minimun", "Close"))
# RESULTS
lapply(new_t, head)
t根据您编写的代码,循环变量i
将是listt
的各个项目(不是列表中的索引,而是列表项目本身)。此外,colnames
将更直接地用于此目的。编写此循环的更好方法是:
t <- list(DATA.FRAME_A, DATA.FRAME_B, DATA.FRAME_C)
for (i in 1:length(t)) {
colnames(t[[i]]) <- c("Data", "Open", "Max", "Minimun", "Close")
}
t根据您编写的代码,循环变量i
将是listt
的各个项目(不是列表中的索引,而是列表项目本身)。此外,colnames
将更直接地用于此目的。编写此循环的更好方法是:
t <- list(DATA.FRAME_A, DATA.FRAME_B, DATA.FRAME_C)
for (i in 1:length(t)) {
colnames(t[[i]]) <- c("Data", "Open", "Max", "Minimun", "Close")
}
t在R中设置列表需要双方括号
t <- list(DATA.FRAME_A, DATA.FRAME_B, DATA.FRAME_C)
for (i in seq_along(t) ) {
names(t[[i]]) <- c("Data", "Open", "Max", "Minimun", "Close")
}
t在R中设置列表需要双方括号
t <- list(DATA.FRAME_A, DATA.FRAME_B, DATA.FRAME_C)
for (i in seq_along(t) ) {
names(t[[i]]) <- c("Data", "Open", "Max", "Minimun", "Close")
}
t谢谢你的回答,但没有用。R给了我这个错误:get中的错误(*tmp*
):未找到对象“NA”您是否将data.frame名称中的\ucode>替换为
点?字符向量t
中的对象似乎不存在。谢谢您的回答,但不起作用。R给了我这个错误:get中的错误(*tmp*
):未找到对象“NA”您是否将data.frame名称中的\ucode>替换为
点?字符向量t
中的对象似乎不存在。非常感谢!!!它起作用了。我正在学习R,我必须深入拉普莱家族,非常感谢你!!!它起作用了。我正在学习R,我必须深入拉普莱家族,感谢你们的解释和示范。谢谢你们的解释和示范。