繁体   English   中英

如何将 NaN 值添加到 R 中数据框的行名称

[英]how to add NaN values to row names of a dataframe in R

我正在尝试创建一个 data.frame 但我想要一些行的名称为 NaN 而我还没有达到这样的效果

tb = as.array(c(1:32))
dim(tb) <- c(8, 4)# (rows, cols)
lb1 = c("Hi","R","Lang","stat") # cols names 4

lb2 = rep(NaN,length(lb1)*2 )
#lb2[c(2*(1:length(lb1))- 1) ] = c(lb1)
lb2[seq(from = 1, length.out = length(lb1), by = 2)] = lb1 
rownames(tb) <- lb2
colnames(tb) <- lb1
frm = as.data.frame(tb,stringsAsFactors = FALSE,check.names=T,fix.empty.names=F)

例如,当使用rownames(frm)

[1] "Hi"     "NaN."   "R"      "NaN..1" "Lang"   "NaN..2" "stat"   "NaN..3"

我想要“NaN”。 、“NaN..1”等。 我只需要没有属性的 NaN

rownames不能有重复的值。

rownames(frm)
> [1] "Hi"    "NaN"   "R"     "NA..1" "Lang"  "NA..2" "stat"  "NA..3"
rownames(frm)[4] <- NaN

你得到

Error in `.rowNamesDF<-`(x, value = value) : 
  duplicate 'row.names' are not allowed

同样,不允许缺失值NA

如果你这样做

rownames(frm)[2] <- NA

你得到:

Error in `.rowNamesDF<-`(x, value = value) : 
  missing values in 'row.names' are not allowed

您看到“NaN”、“NaN..1”等的事实是 R 试图通过将它们转换为字符并对其进行重复数据删除来使其正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM