我是R编程的新手,你能帮忙解决两个场景吗?
如何自动化多个属性和值,例如Attribute_1_Name,Attribute_1_Value ...,Attribute_n_Name,Attribute_n_Value并获得最终结果,如下所示?
result = cbind.data.frame(
PFA_Unique_Identifier,
Fund_Unique_Identifier,
VaR_Type,
Attribute_1_Name,
Attribute_1_Value,
Attribute_2_Name,
Attribute_2_Value, .............., Attribute_n_Name, Attribute_n_Value, varValueRaw )
如何创建名称/值对的哈希表,并在R中的下面一段代码中自动化。
if (attributeCount == 0)
{
Attribute_1_Value = Attribute_1_Name = NA
Attribute_2_Value = Attribute_2_Name = NA
}
else if (attributeCount == 1)
{
Attribute_1_Name = rep(attributeNames,n)
Attribute_1_Value = attributeFilter
Attribute_2_Value = Attribute_2_Name = NA
}
else if (attributeCount == 2)
{
Attribute_1_Name = rep(attributeNames[1],n)
Attribute_1_Value = attributeFilter[,1]
Attribute_2_Name = rep(attributeNames[2],n)
Attribute_2_Value = attributeFilter[,2]
}
else
{
stop("It has not been implemented for attributes filter more than 2")
}
答案 0 :(得分:1)
很难理解你在问什么,但我认为你正在寻找FAQ 7.21。
这个答案中最重要的部分是最后几句话,它说最简单的把事情放到一个列表中。如果你真的需要对键/名称进行哈希处理,那么你可以使用环境而不是列表,界面几乎相同,但是环境使用哈希,最后我记得列表进行线性查找(你可能不会注意到差别)除非您的列表或环境中有数千个对象。)
你只是想创建一个向量或字符串吗? (记住列表与矢量不同)。
如果是这样,这是一种方式:
n <- 3
outstring <- c(
"PFA_Unique_Identifier", "Fund_Unique_Identifier", "VaR_Type",
rbind(
sprintf("Attribute_%d_Name", seq_len(n)),
sprintf("Attribute_%d_Value", seq_len(n))
),
"varValueRaw"
)
outstring
如果您想将其作为单个字符串,请执行以下操作:
paste(outstring, collapse=", ")