我的R数据准备有一些问题(从SPSS导入),但无法在网络上找到解决方案。
问题:从数据框中提取子组的标签:
我有一个包含42个变量(列)的数据框和另一个用于标签的数据框。 我使用以下代码生成标签数据框:
labelspss <- read.spss("Ma.sav")
la <- as.data.frame(attr(labelspss, "variable.labels"))
la$`attr(labelspss, "variable.labels")`<- as.character(la$`attr(labelspss, "variable.labels")`)
第0列包含变量名称;第1列包含SPSS的标签。 现在,我想为42列的子组提取这些标签,并将其添加到我的数据中。
我已经为另一个数据框做了手册:为标签创建了一个矢量并用包hmisc标记。
但现在有42个变量太多了,不能这样做。 我认为我需要一些能够在标签数据框中生成命名字符向量的东西。 从rownames中提取变量名称的东西(对于定义的行数,例如140-150),并将其设置为第1列中的变量标签。 我想我可以使用Hmisc包中的label()来完成剩下的工作。
感谢您的帮助!
答案 0 :(得分:0)
您可以使用using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using Newtonsoft.Json;
namespace UpdateWorkItemFiled0411
{
class Program
{
static void Main(string[] args)
{
string password = "xxxx";
string credentials = Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format("{0}:{1}", "username", password )));
Object[] patchDocument = new Object[1];
patchDocument[0] = new { op = "replace", path = "/relations/attributes/comment", value = "Adding traceability to dependencies" };
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", credentials);
var patchValue = new StringContent(JsonConvert.SerializeObject(patchDocument), Encoding.UTF8, "application/json-patch+json");
var method = new HttpMethod("PATCH");
var request = new HttpRequestMessage(method, "http://server:8080/tfs/DefaultCollection/_apis/wit/workitems/21?api-version=1.0") { Content = patchValue };
var response = client.SendAsync(request).Result;
if (response.IsSuccessStatusCode)
{
var result = response.Content.ReadAsStringAsync().Result;
}
}
}
}
}
提取rownames。