R 使用向量中的指定名称将空列添加到数据帧

R 使用向量中的指定名称将空列添加到数据帧,r,dataframe,R,Dataframe,我有一个数据帧,df,其中已经有许多列数据。我有一个向量,namefector,充满了字符串。我需要将空列添加到df,其中包含namevictor中的列的名称 for (i in length(namevector)) { df[, i] <- NA } 我试图用这个for循环添加列,在namevector中迭代每个字符串 for (i in length(namevector)) { df[, i] <- NA } for(长度为i(名称向量)){ df[,i]可能 d

我有一个数据帧,
df
,其中已经有许多列数据。我有一个向量,
namefector
,充满了字符串。我需要将空列添加到
df
,其中包含
namevictor
中的列的名称

for (i in length(namevector)) {
  df[, i] <- NA
}
我试图用这个for循环添加列,在
namevector
中迭代每个字符串

for (i in length(namevector)) {
  df[, i] <- NA
}
for(长度为i(名称向量)){
df[,i]可能

df
set.seed(1)

示例代码的问题如下所示:

for(i in length(namevector))
你需要问自己:
length(namefector)
?它是一个数字。所以本质上你是说:

for(i in 11)
df[,i] <- NA
for(i在11中)
df[,i]以下内容适合我

dataframe[,"newName"] <- NA

dataframe[,“newName”]我想你的意思可能是
seq_len(length(namevector))
或类似的东西。你的意思是
for(I in(seq_len(length(namevector))+ncol(df))
然后更改列名。@jamesspringle
seq_len(length(…)
seq_long()
@JamesPringle谢谢,我忘了添加偏移量了,因为他们正在添加新列。@rilkehyden请参见添加列()
set.seed(1)
似乎不是绝对必要的。添加
set.seed
只是为了让示例data.frame在用户运行代码时保持不变。从技术上讲,
rnorm
根本不是必需的。是的,所以每个运行代码的人的随机数都是一样的。我明白了。OP已经请求将空列添加到具有规范的数据帧中因此,他想添加多个列。你的答案只加了一个列,并没有根据变量的要求从变量<代码> NaveVector >代码中获取。因此,请查看你的帖子或考虑删除它。谢谢。你总是可以在列表中运行一个循环列表,但是你的答案是相同的。建议<代码>(i在NaveVestor)DF[,I]请考虑移动<代码> DF[,NaveVest]
df[,11] <- NA
for(i in namevector)
    df[,i] <- NA
df[,namevector] <- NA
dataframe[,"newName"] <- NA