R:使用命名数字向量操作数据帧单元格

R:使用命名数字向量操作数据帧单元格,r,dataframe,R,Dataframe,我想(手动)覆盖数据帧df的x列中的单元格。但是R产生了一个错误。考虑 m = 1:2 n = 3:4 names(m)= c("o", "we") names(n)= c("bn","lt") s = c( "bb", "cc") b = c( FALSE, TRUE) df = data.frame( s, b) df$x= list(m,n) 现在替换第x列第一行: k = 5:6 names(k)= c("jh","jh") df[1,"x"] = k ## error occur

我想(手动)覆盖数据帧
df
x列中的单元格。但是R产生了一个错误。考虑

m = 1:2
n = 3:4
names(m)= c("o", "we")
names(n)= c("bn","lt")
s = c( "bb", "cc") 
b = c( FALSE, TRUE)
df = data.frame( s, b)
df$x= list(m,n)
现在替换第x列第一行:

k = 5:6
names(k)= c("jh","jh")
df[1,"x"] = k  ## error occurs here

试试这个:
df$x[[1]]=k

因为您使用的是数据框,所以不能谈论列和行。。因此,您必须使用
$
而不是
“x”
访问数据帧的元素

此外,您正在数据框中使用列表。您应该使用
[[1]]
或列表中元素的任何其他位置访问列表中的元素


希望这有帮助

数据帧实际上是列表,因此您可以使用
df[['x'][[1]]
获得相同的效果。